OMCompilerDoxygen
Functions | Variables
NFExpression.h File Reference

Go to the source code of this file.

Functions

DLLExport modelica_metatype omc_NFExpression_retype (threadData_t *threadData, modelica_metatype _ $in_exp)
 
DLLExport modelica_metatype omc_NFExpression_splitRecordCref (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype omc_NFExpression_nthRecordElement (threadData_t *threadData, modelica_integer _index, modelica_metatype _recordExp)
 
DLLExport modelica_metatype boxptr_NFExpression_nthRecordElement (threadData_t *threadData, modelica_metatype _index, modelica_metatype _recordExp)
 
DLLExport modelica_metatype omc_NFExpression_recordElement (threadData_t *threadData, modelica_string _elementName, modelica_metatype _recordExp)
 
DLLExport modelica_metatype omc_NFExpression_tupleElement (threadData_t *threadData, modelica_metatype _exp, modelica_metatype _ty, modelica_integer _index)
 
DLLExport modelica_metatype boxptr_NFExpression_tupleElement (threadData_t *threadData, modelica_metatype _exp, modelica_metatype _ty, modelica_metatype _index)
 
DLLExport modelica_metatype omc_NFExpression_toScalar (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype omc_NFExpression_enumIndexExp (threadData_t *threadData, modelica_metatype _enumExp)
 
DLLExport modelica_metatype omc_NFExpression_lookupRecordField (threadData_t *threadData, modelica_string _name, modelica_metatype _exp)
 
DLLExport modelica_boolean omc_NFExpression_isEmpty (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_isEmpty (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_boolean omc_NFExpression_isMutable (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_isMutable (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype omc_NFExpression_makeImmutable (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype omc_NFExpression_makeMutable (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_integer omc_NFExpression_variabilityList (threadData_t *threadData, modelica_metatype _expl, modelica_integer _ $in_var)
 
DLLExport modelica_metatype boxptr_NFExpression_variabilityList (threadData_t *threadData, modelica_metatype _expl, modelica_metatype _ $in_var)
 
DLLExport modelica_integer omc_NFExpression_variability (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_variability (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype omc_NFExpression_promote2 (threadData_t *threadData, modelica_metatype _exp, modelica_boolean _isArray, modelica_integer _dims, modelica_metatype _types)
 
DLLExport modelica_metatype boxptr_NFExpression_promote2 (threadData_t *threadData, modelica_metatype _exp, modelica_metatype _isArray, modelica_metatype _dims, modelica_metatype _types)
 
DLLExport modelica_metatype omc_NFExpression_promote (threadData_t *threadData, modelica_metatype _ $in_e, modelica_metatype _ $in_ty, modelica_integer _n, modelica_metatype *out_ty)
 
DLLExport modelica_metatype boxptr_NFExpression_promote (threadData_t *threadData, modelica_metatype _ $in_e, modelica_metatype _ $in_ty, modelica_metatype _n, modelica_metatype *out_ty)
 
DLLExport modelica_metatype omc_NFExpression_makeIdentityMatrix (threadData_t *threadData, modelica_integer _n, modelica_metatype _elementType)
 
DLLExport modelica_metatype boxptr_NFExpression_makeIdentityMatrix (threadData_t *threadData, modelica_metatype _n, modelica_metatype _elementType)
 
DLLExport modelica_metatype omc_NFExpression_transposeArray (threadData_t *threadData, modelica_metatype _arrayExp)
 
DLLExport modelica_boolean omc_NFExpression_hasArrayCall2 (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_hasArrayCall2 (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_boolean omc_NFExpression_hasArrayCall (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_hasArrayCall (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype omc_NFExpression_arrayScalarElement (threadData_t *threadData, modelica_metatype _arrayExp)
 
DLLExport modelica_metatype omc_NFExpression_arrayScalarElements__impl (threadData_t *threadData, modelica_metatype _exp, modelica_metatype _ $in_elements)
 
DLLExport modelica_metatype omc_NFExpression_arrayScalarElements (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype omc_NFExpression_arrayElements (threadData_t *threadData, modelica_metatype _array)
 
DLLExport modelica_metatype omc_NFExpression_negate (threadData_t *threadData, modelica_metatype _ $in_exp)
 
DLLExport modelica_metatype omc_NFExpression_unbox (threadData_t *threadData, modelica_metatype _boxedExp)
 
DLLExport modelica_metatype omc_NFExpression_box (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype omc_NFExpression_makeMinValue (threadData_t *threadData, modelica_metatype _ty)
 
DLLExport modelica_metatype omc_NFExpression_makeMaxValue (threadData_t *threadData, modelica_metatype _ty)
 
DLLExport modelica_metatype omc_NFExpression_makeOne (threadData_t *threadData, modelica_metatype _ty)
 
DLLExport modelica_metatype omc_NFExpression_makeZero (threadData_t *threadData, modelica_metatype _ty)
 
DLLExport modelica_metatype omc_NFExpression_fillType (threadData_t *threadData, modelica_metatype _ty, modelica_metatype _fillExp)
 
DLLExport modelica_boolean omc_NFExpression_isRecordOrRecordArray (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_isRecordOrRecordArray (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_boolean omc_NFExpression_isRecord (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_isRecord (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_boolean omc_NFExpression_isBoolean (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_isBoolean (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_boolean omc_NFExpression_isInteger (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_isInteger (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_boolean omc_NFExpression_isLiteral (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_isLiteral (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_boolean omc_NFExpression_isScalarLiteral (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_isScalarLiteral (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_boolean omc_NFExpression_isPositive (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_isPositive (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_boolean omc_NFExpression_isOne (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_isOne (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_boolean omc_NFExpression_isZero (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_isZero (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_boolean omc_NFExpression_containsIterator (threadData_t *threadData, modelica_metatype _exp, modelica_integer _origin)
 
DLLExport modelica_metatype boxptr_NFExpression_containsIterator (threadData_t *threadData, modelica_metatype _exp, modelica_metatype _origin)
 
DLLExport modelica_boolean omc_NFExpression_isIterator (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_isIterator (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype omc_NFExpression_toCref (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype omc_NFExpression_fromCref (threadData_t *threadData, modelica_metatype _cref)
 
DLLExport modelica_boolean omc_NFExpression_arrayAllEqual2 (threadData_t *threadData, modelica_metatype _arrayExp, modelica_metatype _element)
 
DLLExport modelica_metatype boxptr_NFExpression_arrayAllEqual2 (threadData_t *threadData, modelica_metatype _arrayExp, modelica_metatype _element)
 
DLLExport modelica_boolean omc_NFExpression_arrayAllEqual (threadData_t *threadData, modelica_metatype _arrayExp)
 
DLLExport modelica_metatype boxptr_NFExpression_arrayAllEqual (threadData_t *threadData, modelica_metatype _arrayExp)
 
DLLExport modelica_metatype omc_NFExpression_arrayFirstScalar (threadData_t *threadData, modelica_metatype _arrayExp)
 
DLLExport modelica_boolean omc_NFExpression_callContains (threadData_t *threadData, modelica_metatype _call, modelica_fnptr _func)
 
DLLExport modelica_metatype boxptr_NFExpression_callContains (threadData_t *threadData, modelica_metatype _call, modelica_fnptr _func)
 
DLLExport modelica_boolean omc_NFExpression_listContains (threadData_t *threadData, modelica_metatype _expl, modelica_fnptr _func)
 
DLLExport modelica_metatype boxptr_NFExpression_listContains (threadData_t *threadData, modelica_metatype _expl, modelica_fnptr _func)
 
DLLExport modelica_boolean omc_NFExpression_subscriptsContains (threadData_t *threadData, modelica_metatype _subs, modelica_fnptr _func)
 
DLLExport modelica_metatype boxptr_NFExpression_subscriptsContains (threadData_t *threadData, modelica_metatype _subs, modelica_fnptr _func)
 
DLLExport modelica_boolean omc_NFExpression_crefContains (threadData_t *threadData, modelica_metatype _cref, modelica_fnptr _func)
 
DLLExport modelica_metatype boxptr_NFExpression_crefContains (threadData_t *threadData, modelica_metatype _cref, modelica_fnptr _func)
 
DLLExport modelica_boolean omc_NFExpression_contains (threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
 
DLLExport modelica_metatype boxptr_NFExpression_contains (threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
 
DLLExport modelica_boolean omc_NFExpression_containsOpt (threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
 
DLLExport modelica_metatype boxptr_NFExpression_containsOpt (threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
 
DLLExport modelica_metatype omc_NFExpression_mapFoldCrefShallow (threadData_t *threadData, modelica_metatype _cref, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
 
DLLExport modelica_metatype omc_NFExpression_mapFoldCallIteratorsShallow (threadData_t *threadData, modelica_metatype _iters, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
 
DLLExport modelica_metatype omc_NFExpression_mapFoldCallShallow (threadData_t *threadData, modelica_metatype _call, modelica_fnptr _func, modelica_metatype _ $in_foldArg, modelica_metatype *out_foldArg)
 
DLLExport modelica_metatype omc_NFExpression_mapFoldOptShallow (threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
 
DLLExport modelica_metatype omc_NFExpression_mapFoldClockShallow (threadData_t *threadData, modelica_metatype _clockExp, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
 
DLLExport modelica_metatype omc_NFExpression_mapFoldShallow (threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
 
DLLExport modelica_metatype omc_NFExpression_mapFoldCref (threadData_t *threadData, modelica_metatype _cref, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
 
DLLExport modelica_metatype omc_NFExpression_mapFoldCallIterators (threadData_t *threadData, modelica_metatype _iters, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
 
DLLExport modelica_metatype omc_NFExpression_mapFoldCall (threadData_t *threadData, modelica_metatype _call, modelica_fnptr _func, modelica_metatype _ $in_foldArg, modelica_metatype *out_foldArg)
 
DLLExport modelica_metatype omc_NFExpression_mapFoldOpt (threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
 
DLLExport modelica_metatype omc_NFExpression_mapFold (threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
 
DLLExport void omc_NFExpression_applyCrefSubscript (threadData_t *threadData, modelica_metatype _subscript, modelica_fnptr _func)
 
DLLExport void omc_NFExpression_applyCref (threadData_t *threadData, modelica_metatype _cref, modelica_fnptr _func)
 
DLLExport void omc_NFExpression_applyCall (threadData_t *threadData, modelica_metatype _call, modelica_fnptr _func)
 
DLLExport void omc_NFExpression_apply (threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
 
DLLExport void omc_NFExpression_applyList (threadData_t *threadData, modelica_metatype _expl, modelica_fnptr _func)
 
DLLExport modelica_metatype omc_NFExpression_foldCref (threadData_t *threadData, modelica_metatype _cref, modelica_fnptr _func, modelica_metatype _ $in_arg)
 
DLLExport modelica_metatype omc_NFExpression_foldCall (threadData_t *threadData, modelica_metatype _call, modelica_fnptr _func, modelica_metatype _ $in_foldArg)
 
DLLExport modelica_metatype omc_NFExpression_fold (threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func, modelica_metatype _arg)
 
DLLExport modelica_metatype omc_NFExpression_foldList (threadData_t *threadData, modelica_metatype _expl, modelica_fnptr _func, modelica_metatype _arg)
 
DLLExport modelica_metatype omc_NFExpression_mapArrayElements (threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
 
DLLExport modelica_metatype omc_NFExpression_mapCallShallowIterators (threadData_t *threadData, modelica_metatype _iters, modelica_fnptr _func)
 
DLLExport modelica_metatype omc_NFExpression_mapCallShallow (threadData_t *threadData, modelica_metatype _call, modelica_fnptr _func)
 
DLLExport modelica_metatype omc_NFExpression_mapCrefShallow (threadData_t *threadData, modelica_metatype _cref, modelica_fnptr _func)
 
DLLExport modelica_metatype omc_NFExpression_mapShallow (threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
 
DLLExport modelica_metatype omc_NFExpression_mapCref (threadData_t *threadData, modelica_metatype _cref, modelica_fnptr _func)
 
DLLExport modelica_metatype omc_NFExpression_mapCallIterators (threadData_t *threadData, modelica_metatype _iters, modelica_fnptr _func)
 
DLLExport modelica_metatype omc_NFExpression_mapCall (threadData_t *threadData, modelica_metatype _call, modelica_fnptr _func)
 
DLLExport modelica_metatype omc_NFExpression_mapOpt (threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
 
DLLExport modelica_metatype omc_NFExpression_map (threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
 
DLLExport modelica_integer omc_NFExpression_dimensionCount (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_dimensionCount (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype omc_NFExpression_toDAEValue (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype omc_NFExpression_toDAE (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype omc_NFExpression_toDAEOpt (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_boolean omc_NFExpression_isAssociativeExp (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_isAssociativeExp (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_integer omc_NFExpression_priority (threadData_t *threadData, modelica_metatype _exp, modelica_boolean _lhs)
 
DLLExport modelica_metatype boxptr_NFExpression_priority (threadData_t *threadData, modelica_metatype _exp, modelica_metatype _lhs)
 
DLLExport modelica_string omc_NFExpression_operandString (threadData_t *threadData, modelica_metatype _operand, modelica_metatype _operator, modelica_boolean _lhs)
 
DLLExport modelica_metatype boxptr_NFExpression_operandString (threadData_t *threadData, modelica_metatype _operand, modelica_metatype _operator, modelica_metatype _lhs)
 
DLLExport modelica_string omc_NFExpression_toString (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_string omc_NFExpression_toStringTyped (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_integer omc_NFExpression_toInteger (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_toInteger (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype omc_NFExpression_makeEnumLiterals (threadData_t *threadData, modelica_metatype _enumType)
 
DLLExport modelica_metatype omc_NFExpression_makeEnumLiteral (threadData_t *threadData, modelica_metatype _enumType, modelica_integer _index)
 
DLLExport modelica_metatype boxptr_NFExpression_makeEnumLiteral (threadData_t *threadData, modelica_metatype _enumType, modelica_metatype _index)
 
DLLExport modelica_metatype omc_NFExpression_arrayFromList__impl (threadData_t *threadData, modelica_metatype _inExps, modelica_metatype _elemTy, modelica_metatype _inDims)
 
DLLExport modelica_metatype omc_NFExpression_arrayFromList (threadData_t *threadData, modelica_metatype _inExps, modelica_metatype _elemTy, modelica_metatype _inDims)
 
DLLExport modelica_metatype omc_NFExpression_replaceIterator2 (threadData_t *threadData, modelica_metatype _ $in_exp, modelica_metatype _iterator, modelica_metatype _iteratorValue)
 
DLLExport modelica_metatype omc_NFExpression_replaceIterator (threadData_t *threadData, modelica_metatype _ $in_exp, modelica_metatype _iterator, modelica_metatype _iteratorValue)
 
DLLExport modelica_metatype omc_NFExpression_makeSubscriptedExp (threadData_t *threadData, modelica_metatype _subscripts, modelica_metatype _exp)
 
DLLExport modelica_metatype omc_NFExpression_applySubscriptIf (threadData_t *threadData, modelica_metatype _subscript, modelica_metatype _exp, modelica_metatype _restSubscripts)
 
DLLExport modelica_metatype omc_NFExpression_applyIndexSubscriptArrayConstructor (threadData_t *threadData, modelica_metatype _call, modelica_metatype _index)
 
DLLExport modelica_metatype omc_NFExpression_applySubscriptArrayConstructor (threadData_t *threadData, modelica_metatype _subscript, modelica_metatype _call, modelica_metatype _restSubscripts)
 
DLLExport modelica_metatype omc_NFExpression_applySubscriptCall (threadData_t *threadData, modelica_metatype _subscript, modelica_metatype _exp, modelica_metatype _restSubscripts)
 
DLLExport modelica_metatype omc_NFExpression_applyIndexSubscriptRange2 (threadData_t *threadData, modelica_metatype _startExp, modelica_metatype _stepExp, modelica_metatype _stopExp, modelica_integer _index)
 
DLLExport modelica_metatype boxptr_NFExpression_applyIndexSubscriptRange2 (threadData_t *threadData, modelica_metatype _startExp, modelica_metatype _stepExp, modelica_metatype _stopExp, modelica_metatype _index)
 
DLLExport modelica_metatype omc_NFExpression_applyIndexSubscriptRange (threadData_t *threadData, modelica_metatype _rangeExp, modelica_metatype _index)
 
DLLExport modelica_metatype omc_NFExpression_applySubscriptRange (threadData_t *threadData, modelica_metatype _subscript, modelica_metatype _exp)
 
DLLExport modelica_metatype omc_NFExpression_applyIndexSubscriptArray (threadData_t *threadData, modelica_metatype _exp, modelica_metatype _index, modelica_metatype _restSubscripts)
 
DLLExport modelica_metatype omc_NFExpression_applySubscriptArray (threadData_t *threadData, modelica_metatype _subscript, modelica_metatype _exp, modelica_metatype _restSubscripts)
 
DLLExport modelica_metatype omc_NFExpression_applyIndexSubscriptTypename (threadData_t *threadData, modelica_metatype _ty, modelica_metatype _index)
 
DLLExport modelica_metatype omc_NFExpression_applySubscriptTypename (threadData_t *threadData, modelica_metatype _subscript, modelica_metatype _ty)
 
DLLExport modelica_metatype omc_NFExpression_applySubscriptCref (threadData_t *threadData, modelica_metatype _subscript, modelica_metatype _cref, modelica_metatype _restSubscripts)
 
DLLExport modelica_metatype omc_NFExpression_applySubscript (threadData_t *threadData, modelica_metatype _subscript, modelica_metatype _exp, modelica_metatype _restSubscripts)
 
DLLExport modelica_metatype omc_NFExpression_applySubscripts (threadData_t *threadData, modelica_metatype _subscripts, modelica_metatype _exp)
 
DLLExport modelica_metatype omc_NFExpression_makeRealMatrix (threadData_t *threadData, modelica_metatype _values)
 
DLLExport modelica_metatype omc_NFExpression_makeRealArray (threadData_t *threadData, modelica_metatype _values)
 
DLLExport modelica_metatype omc_NFExpression_makeIntegerArray (threadData_t *threadData, modelica_metatype _values)
 
DLLExport modelica_metatype omc_NFExpression_makeEmptyArray (threadData_t *threadData, modelica_metatype _ty)
 
DLLExport modelica_metatype omc_NFExpression_makeArray (threadData_t *threadData, modelica_metatype _ty, modelica_metatype _expl, modelica_boolean _literal)
 
DLLExport modelica_metatype boxptr_NFExpression_makeArray (threadData_t *threadData, modelica_metatype _ty, modelica_metatype _expl, modelica_metatype _literal)
 
DLLExport modelica_string omc_NFExpression_stringValue (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype omc_NFExpression_makeInteger (threadData_t *threadData, modelica_integer _value)
 
DLLExport modelica_metatype boxptr_NFExpression_makeInteger (threadData_t *threadData, modelica_metatype _value)
 
DLLExport modelica_integer omc_NFExpression_integerValue (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_integerValue (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype omc_NFExpression_makeReal (threadData_t *threadData, modelica_real _value)
 
DLLExport modelica_metatype boxptr_NFExpression_makeReal (threadData_t *threadData, modelica_metatype _value)
 
DLLExport modelica_real omc_NFExpression_realValue (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_realValue (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype omc_NFExpression_typeCastElements (threadData_t *threadData, modelica_metatype _ $in_exp, modelica_metatype _ty)
 
DLLExport modelica_metatype omc_NFExpression_typeCast (threadData_t *threadData, modelica_metatype _exp, modelica_metatype _castTy)
 
DLLExport modelica_metatype omc_NFExpression_setType (threadData_t *threadData, modelica_metatype _ty, modelica_metatype _ $in_exp)
 
DLLExport modelica_metatype omc_NFExpression_typeOf (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_integer omc_NFExpression_compareList (threadData_t *threadData, modelica_metatype _expl1, modelica_metatype _expl2)
 
DLLExport modelica_metatype boxptr_NFExpression_compareList (threadData_t *threadData, modelica_metatype _expl1, modelica_metatype _expl2)
 
DLLExport modelica_integer omc_NFExpression_compareOpt (threadData_t *threadData, modelica_metatype _expl1, modelica_metatype _expl2)
 
DLLExport modelica_metatype boxptr_NFExpression_compareOpt (threadData_t *threadData, modelica_metatype _expl1, modelica_metatype _expl2)
 
DLLExport modelica_integer omc_NFExpression_compare (threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _exp2)
 
DLLExport modelica_metatype boxptr_NFExpression_compare (threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _exp2)
 
DLLExport modelica_boolean omc_NFExpression_isEqual (threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _exp2)
 
DLLExport modelica_metatype boxptr_NFExpression_isEqual (threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _exp2)
 
DLLExport modelica_boolean omc_NFExpression_isFalse (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_isFalse (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_boolean omc_NFExpression_isAllTrue (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_isAllTrue (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_boolean omc_NFExpression_isTrue (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_isTrue (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_boolean omc_NFExpression_isCall (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_isCall (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_boolean omc_NFExpression_isCref (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_isCref (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_boolean omc_NFExpression_isEmptyArray (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_isEmptyArray (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_boolean omc_NFExpression_isArray (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_metatype boxptr_NFExpression_isArray (threadData_t *threadData, modelica_metatype _exp)
 
DLLExport modelica_string omc_NFExpression_ClockKind_toString (threadData_t *threadData, modelica_metatype _ick)
 
DLLExport modelica_metatype omc_NFExpression_ClockKind_toDAE (threadData_t *threadData, modelica_metatype _ick)
 
DLLExport modelica_integer omc_NFExpression_ClockKind_compare (threadData_t *threadData, modelica_metatype _ck1, modelica_metatype _ck2)
 
DLLExport modelica_metatype boxptr_NFExpression_ClockKind_compare (threadData_t *threadData, modelica_metatype _ck1, modelica_metatype _ck2)
 

Variables

struct record_description Absyn_Path_IDENT__desc
 
struct record_description DAE_ClockKind_BOOLEAN__CLOCK__desc
 
struct record_description DAE_ClockKind_INFERRED__CLOCK__desc
 
struct record_description DAE_ClockKind_INTEGER__CLOCK__desc
 
struct record_description DAE_ClockKind_REAL__CLOCK__desc
 
struct record_description DAE_ClockKind_SOLVER__CLOCK__desc
 
struct record_description DAE_Exp_ARRAY__desc
 
struct record_description DAE_Exp_ASUB__desc
 
struct record_description DAE_Exp_BCONST__desc
 
struct record_description DAE_Exp_BINARY__desc
 
struct record_description DAE_Exp_BOX__desc
 
struct record_description DAE_Exp_CAST__desc
 
struct record_description DAE_Exp_CLKCONST__desc
 
struct record_description DAE_Exp_CREF__desc
 
struct record_description DAE_Exp_ENUM__LITERAL__desc
 
struct record_description DAE_Exp_ICONST__desc
 
struct record_description DAE_Exp_IFEXP__desc
 
struct record_description DAE_Exp_LBINARY__desc
 
struct record_description DAE_Exp_LUNARY__desc
 
struct record_description DAE_Exp_PARTEVALFUNCTION__desc
 
struct record_description DAE_Exp_RANGE__desc
 
struct record_description DAE_Exp_RCONST__desc
 
struct record_description DAE_Exp_RECORD__desc
 
struct record_description DAE_Exp_RELATION__desc
 
struct record_description DAE_Exp_RSUB__desc
 
struct record_description DAE_Exp_SCONST__desc
 
struct record_description DAE_Exp_SIZE__desc
 
struct record_description DAE_Exp_TSUB__desc
 
struct record_description DAE_Exp_TUPLE__desc
 
struct record_description DAE_Exp_UNARY__desc
 
struct record_description DAE_Exp_UNBOX__desc
 
struct record_description DAE_FunctionAttributes_FUNCTION__ATTRIBUTES__desc
 
struct record_description DAE_FunctionBuiltin_FUNCTION__BUILTIN__desc
 
struct record_description DAE_FunctionParallelism_FP__NON__PARALLEL__desc
 
struct record_description DAE_InlineType_NO__INLINE__desc
 
struct record_description NFBinding_Binding_UNBOUND__desc
 
struct record_description NFCall_Call_ARG__TYPED__CALL__desc
 
struct record_description NFCall_Call_TYPED__ARRAY__CONSTRUCTOR__desc
 
struct record_description NFCall_Call_TYPED__CALL__desc
 
struct record_description NFCall_Call_TYPED__REDUCTION__desc
 
struct record_description NFCall_Call_UNTYPED__ARRAY__CONSTRUCTOR__desc
 
struct record_description NFCall_Call_UNTYPED__CALL__desc
 
struct record_description NFCall_Call_UNTYPED__REDUCTION__desc
 
struct record_description NFComponent_Component_Attributes_ATTRIBUTES__desc
 
struct record_description NFComponent_Component_TYPED__COMPONENT__desc
 
struct record_description NFComponentRef_CREF__desc
 
struct record_description NFDimension_UNKNOWN__desc
 
struct record_description NFExpression_ARRAY__desc
 
struct record_description NFExpression_BINARY__desc
 
struct record_description NFExpression_BOOLEAN__desc
 
struct record_description NFExpression_BOX__desc
 
struct record_description NFExpression_CALL__desc
 
struct record_description NFExpression_CAST__desc
 
struct record_description NFExpression_CLKCONST__desc
 
struct record_description NFExpression_CREF__desc
 
struct record_description NFExpression_ClockKind_BOOLEAN__CLOCK__desc
 
struct record_description NFExpression_ClockKind_INTEGER__CLOCK__desc
 
struct record_description NFExpression_ClockKind_REAL__CLOCK__desc
 
struct record_description NFExpression_ClockKind_SOLVER__CLOCK__desc
 
struct record_description NFExpression_ENUM__LITERAL__desc
 
struct record_description NFExpression_IF__desc
 
struct record_description NFExpression_INTEGER__desc
 
struct record_description NFExpression_LBINARY__desc
 
struct record_description NFExpression_LUNARY__desc
 
struct record_description NFExpression_MATRIX__desc
 
struct record_description NFExpression_MUTABLE__desc
 
struct record_description NFExpression_RANGE__desc
 
struct record_description NFExpression_REAL__desc
 
struct record_description NFExpression_RECORD__desc
 
struct record_description NFExpression_RECORD__ELEMENT__desc
 
struct record_description NFExpression_RELATION__desc
 
struct record_description NFExpression_SIZE__desc
 
struct record_description NFExpression_SUBSCRIPTED__EXP__desc
 
struct record_description NFExpression_TUPLE__desc
 
struct record_description NFExpression_TUPLE__ELEMENT__desc
 
struct record_description NFExpression_TYPENAME__desc
 
struct record_description NFExpression_UNARY__desc
 
struct record_description NFExpression_UNBOX__desc
 
struct record_description NFFunction_Function_FUNCTION__desc
 
struct record_description NFInstNode_InstNode_COMPONENT__NODE__desc
 
struct record_description NFInstNode_InstNode_EMPTY__NODE__desc
 
struct record_description NFInstNode_InstNodeType_NORMAL__COMP__desc
 
struct record_description NFOperator_OPERATOR__desc
 
struct record_description NFPrefixes_Replaceable_NOT__REPLACEABLE__desc
 
struct record_description NFType_ARRAY__desc
 
struct record_description NFType_BOOLEAN__desc
 
struct record_description NFType_CLOCK__desc
 
struct record_description NFType_ENUMERATION__ANY__desc
 
struct record_description NFType_FUNCTION__desc
 
struct record_description NFType_INTEGER__desc
 
struct record_description NFType_METABOXED__desc
 
struct record_description NFType_REAL__desc
 
struct record_description NFType_STRING__desc
 
struct record_description NFType_UNKNOWN__desc
 
struct record_description SourceInfo_SOURCEINFO__desc
 
struct record_description Values_Value_BOOL__desc
 
struct record_description Values_Value_ENUM__LITERAL__desc
 
struct record_description Values_Value_INTEGER__desc
 
struct record_description Values_Value_REAL__desc
 
struct record_description Values_Value_STRING__desc
 

Function Documentation

◆ boxptr_NFExpression_applyIndexSubscriptRange2()

DLLExport modelica_metatype boxptr_NFExpression_applyIndexSubscriptRange2 ( threadData_t threadData,
modelica_metatype  _startExp,
modelica_metatype  _stepExp,
modelica_metatype  _stopExp,
modelica_metatype  _index 
)

Definition at line 16361 of file NFExpression.c.

16362 {
16363  modelica_integer tmp1;
16364  modelica_metatype _subscriptedExp = NULL;
16365  tmp1 = mmc_unbox_integer(_index);
16366  _subscriptedExp = omc_NFExpression_applyIndexSubscriptRange2(threadData, _startExp, _stepExp, _stopExp, tmp1);
16367  /* skip box _subscriptedExp; NFExpression */
16368  return _subscriptedExp;
16369 }
DLLExport modelica_metatype omc_NFExpression_applyIndexSubscriptRange2(threadData_t *threadData, modelica_metatype _startExp, modelica_metatype _stepExp, modelica_metatype _stopExp, modelica_integer _index)
m_integer modelica_integer
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_arrayAllEqual()

DLLExport modelica_metatype boxptr_NFExpression_arrayAllEqual ( threadData_t threadData,
modelica_metatype  _arrayExp 
)

Definition at line 4281 of file NFExpression.c.

4282 {
4283  modelica_boolean _allEqual;
4284  modelica_metatype out_allEqual;
4285  _allEqual = omc_NFExpression_arrayAllEqual(threadData, _arrayExp);
4286  out_allEqual = mmc_mk_icon(_allEqual);
4287  return out_allEqual;
4288 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_NFExpression_arrayAllEqual(threadData_t *threadData, modelica_metatype _arrayExp)
Here is the call graph for this function:

◆ boxptr_NFExpression_arrayAllEqual2()

DLLExport modelica_metatype boxptr_NFExpression_arrayAllEqual2 ( threadData_t threadData,
modelica_metatype  _arrayExp,
modelica_metatype  _element 
)

Definition at line 4213 of file NFExpression.c.

4214 {
4215  modelica_boolean _allEqual;
4216  modelica_metatype out_allEqual;
4217  _allEqual = omc_NFExpression_arrayAllEqual2(threadData, _arrayExp, _element);
4218  out_allEqual = mmc_mk_icon(_allEqual);
4219  return out_allEqual;
4220 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_NFExpression_arrayAllEqual2(threadData_t *threadData, modelica_metatype _arrayExp, modelica_metatype _element)
Here is the call graph for this function:

◆ boxptr_NFExpression_callContains()

DLLExport modelica_metatype boxptr_NFExpression_callContains ( threadData_t threadData,
modelica_metatype  _call,
modelica_fnptr  _func 
)

Definition at line 4546 of file NFExpression.c.

4547 {
4548  modelica_boolean _res;
4549  modelica_metatype out_res;
4550  _res = omc_NFExpression_callContains(threadData, _call, _func);
4551  out_res = mmc_mk_icon(_res);
4552  return out_res;
4553 }
signed char modelica_boolean
DLLExport modelica_boolean omc_NFExpression_callContains(threadData_t *threadData, modelica_metatype _call, modelica_fnptr _func)
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_ClockKind_compare()

DLLExport modelica_metatype boxptr_NFExpression_ClockKind_compare ( threadData_t threadData,
modelica_metatype  _ck1,
modelica_metatype  _ck2 
)

Definition at line 20835 of file NFExpression.c.

20836 {
20837  modelica_integer _comp;
20838  modelica_metatype out_comp;
20839  _comp = omc_NFExpression_ClockKind_compare(threadData, _ck1, _ck2);
20840  out_comp = mmc_mk_icon(_comp);
20841  return out_comp;
20842 }
m_integer modelica_integer
DLLExport modelica_integer omc_NFExpression_ClockKind_compare(threadData_t *threadData, modelica_metatype _ck1, modelica_metatype _ck2)
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_compare()

DLLExport modelica_metatype boxptr_NFExpression_compare ( threadData_t threadData,
modelica_metatype  _exp1,
modelica_metatype  _exp2 
)

Definition at line 19983 of file NFExpression.c.

19984 {
19985  modelica_integer _comp;
19986  modelica_metatype out_comp;
19987  _comp = omc_NFExpression_compare(threadData, _exp1, _exp2);
19988  out_comp = mmc_mk_icon(_comp);
19989  return out_comp;
19990 }
m_integer modelica_integer
DLLExport modelica_integer omc_NFExpression_compare(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _exp2)
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_compareList()

DLLExport modelica_metatype boxptr_NFExpression_compareList ( threadData_t threadData,
modelica_metatype  _expl1,
modelica_metatype  _expl2 
)

Definition at line 18802 of file NFExpression.c.

18803 {
18804  modelica_integer _comp;
18805  modelica_metatype out_comp;
18806  _comp = omc_NFExpression_compareList(threadData, _expl1, _expl2);
18807  out_comp = mmc_mk_icon(_comp);
18808  return out_comp;
18809 }
m_integer modelica_integer
void * modelica_metatype
DLLExport modelica_integer omc_NFExpression_compareList(threadData_t *threadData, modelica_metatype _expl1, modelica_metatype _expl2)
Here is the call graph for this function:

◆ boxptr_NFExpression_compareOpt()

DLLExport modelica_metatype boxptr_NFExpression_compareOpt ( threadData_t threadData,
modelica_metatype  _expl1,
modelica_metatype  _expl2 
)

Definition at line 18887 of file NFExpression.c.

18888 {
18889  modelica_integer _comp;
18890  modelica_metatype out_comp;
18891  _comp = omc_NFExpression_compareOpt(threadData, _expl1, _expl2);
18892  out_comp = mmc_mk_icon(_comp);
18893  return out_comp;
18894 }
m_integer modelica_integer
DLLExport modelica_integer omc_NFExpression_compareOpt(threadData_t *threadData, modelica_metatype _expl1, modelica_metatype _expl2)
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_contains()

DLLExport modelica_metatype boxptr_NFExpression_contains ( threadData_t threadData,
modelica_metatype  _exp,
modelica_fnptr  _func 
)

Definition at line 5049 of file NFExpression.c.

5050 {
5051  modelica_boolean _res;
5052  modelica_metatype out_res;
5053  _res = omc_NFExpression_contains(threadData, _exp, _func);
5054  out_res = mmc_mk_icon(_res);
5055  return out_res;
5056 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_NFExpression_contains(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
Here is the call graph for this function:

◆ boxptr_NFExpression_containsIterator()

DLLExport modelica_metatype boxptr_NFExpression_containsIterator ( threadData_t threadData,
modelica_metatype  _exp,
modelica_metatype  _origin 
)

Definition at line 4042 of file NFExpression.c.

4043 {
4044  modelica_integer tmp1;
4045  modelica_boolean _iter;
4046  modelica_metatype out_iter;
4047  tmp1 = mmc_unbox_integer(_origin);
4048  _iter = omc_NFExpression_containsIterator(threadData, _exp, tmp1);
4049  out_iter = mmc_mk_icon(_iter);
4050  return out_iter;
4051 }
m_integer modelica_integer
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_NFExpression_containsIterator(threadData_t *threadData, modelica_metatype _exp, modelica_integer _origin)
Here is the call graph for this function:

◆ boxptr_NFExpression_containsOpt()

DLLExport modelica_metatype boxptr_NFExpression_containsOpt ( threadData_t threadData,
modelica_metatype  _exp,
modelica_fnptr  _func 
)

Definition at line 5110 of file NFExpression.c.

5111 {
5112  modelica_boolean _res;
5113  modelica_metatype out_res;
5114  _res = omc_NFExpression_containsOpt(threadData, _exp, _func);
5115  out_res = mmc_mk_icon(_res);
5116  return out_res;
5117 }
signed char modelica_boolean
DLLExport modelica_boolean omc_NFExpression_containsOpt(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_crefContains()

DLLExport modelica_metatype boxptr_NFExpression_crefContains ( threadData_t threadData,
modelica_metatype  _cref,
modelica_fnptr  _func 
)

Definition at line 4749 of file NFExpression.c.

4750 {
4751  modelica_boolean _res;
4752  modelica_metatype out_res;
4753  _res = omc_NFExpression_crefContains(threadData, _cref, _func);
4754  out_res = mmc_mk_icon(_res);
4755  return out_res;
4756 }
signed char modelica_boolean
DLLExport modelica_boolean omc_NFExpression_crefContains(threadData_t *threadData, modelica_metatype _cref, modelica_fnptr _func)
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_dimensionCount()

DLLExport modelica_metatype boxptr_NFExpression_dimensionCount ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 13480 of file NFExpression.c.

13481 {
13482  modelica_integer _dimCount;
13483  modelica_metatype out_dimCount;
13484  _dimCount = omc_NFExpression_dimensionCount(threadData, _exp);
13485  out_dimCount = mmc_mk_icon(_dimCount);
13486  return out_dimCount;
13487 }
m_integer modelica_integer
DLLExport modelica_integer omc_NFExpression_dimensionCount(threadData_t *threadData, modelica_metatype _exp)
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_hasArrayCall()

DLLExport modelica_metatype boxptr_NFExpression_hasArrayCall ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 2636 of file NFExpression.c.

2637 {
2638  modelica_boolean _hasArrayCall;
2639  modelica_metatype out_hasArrayCall;
2640  _hasArrayCall = omc_NFExpression_hasArrayCall(threadData, _exp);
2641  out_hasArrayCall = mmc_mk_icon(_hasArrayCall);
2642  return out_hasArrayCall;
2643 }
signed char modelica_boolean
DLLExport modelica_boolean omc_NFExpression_hasArrayCall(threadData_t *threadData, modelica_metatype _exp)
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_hasArrayCall2()

DLLExport modelica_metatype boxptr_NFExpression_hasArrayCall2 ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 2615 of file NFExpression.c.

2616 {
2617  modelica_boolean _hasArrayCall;
2618  modelica_metatype out_hasArrayCall;
2619  _hasArrayCall = omc_NFExpression_hasArrayCall2(threadData, _exp);
2620  out_hasArrayCall = mmc_mk_icon(_hasArrayCall);
2621  return out_hasArrayCall;
2622 }
signed char modelica_boolean
DLLExport modelica_boolean omc_NFExpression_hasArrayCall2(threadData_t *threadData, modelica_metatype _exp)
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_integerValue()

DLLExport modelica_metatype boxptr_NFExpression_integerValue ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 17808 of file NFExpression.c.

17809 {
17811  modelica_metatype out_value;
17812  _value = omc_NFExpression_integerValue(threadData, _exp);
17813  out_value = mmc_mk_icon(_value);
17814  return out_value;
17815 }
m_integer modelica_integer
void * modelica_metatype
DLLExport modelica_integer omc_NFExpression_integerValue(threadData_t *threadData, modelica_metatype _exp)
Here is the call graph for this function:

◆ boxptr_NFExpression_isAllTrue()

DLLExport modelica_metatype boxptr_NFExpression_isAllTrue ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 20161 of file NFExpression.c.

20162 {
20163  modelica_boolean _isTrue;
20164  modelica_metatype out_isTrue;
20165  _isTrue = omc_NFExpression_isAllTrue(threadData, _exp);
20166  out_isTrue = mmc_mk_icon(_isTrue);
20167  return out_isTrue;
20168 }
signed char modelica_boolean
DLLExport modelica_boolean omc_NFExpression_isAllTrue(threadData_t *threadData, modelica_metatype _exp)
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_isArray()

DLLExport modelica_metatype boxptr_NFExpression_isArray ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 20458 of file NFExpression.c.

20459 {
20460  modelica_boolean _isArray;
20461  modelica_metatype out_isArray;
20462  _isArray = omc_NFExpression_isArray(threadData, _exp);
20463  out_isArray = mmc_mk_icon(_isArray);
20464  return out_isArray;
20465 }
DLLExport modelica_boolean omc_NFExpression_isArray(threadData_t *threadData, modelica_metatype _exp)
signed char modelica_boolean
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_isAssociativeExp()

DLLExport modelica_metatype boxptr_NFExpression_isAssociativeExp ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 14477 of file NFExpression.c.

14478 {
14479  modelica_boolean _isAssociative;
14480  modelica_metatype out_isAssociative;
14481  _isAssociative = omc_NFExpression_isAssociativeExp(threadData, _exp);
14482  out_isAssociative = mmc_mk_icon(_isAssociative);
14483  return out_isAssociative;
14484 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_NFExpression_isAssociativeExp(threadData_t *threadData, modelica_metatype _exp)
Here is the call graph for this function:

◆ boxptr_NFExpression_isBoolean()

DLLExport modelica_metatype boxptr_NFExpression_isBoolean ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 3489 of file NFExpression.c.

3490 {
3491  modelica_boolean _isBool;
3492  modelica_metatype out_isBool;
3493  _isBool = omc_NFExpression_isBoolean(threadData, _exp);
3494  out_isBool = mmc_mk_icon(_isBool);
3495  return out_isBool;
3496 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_NFExpression_isBoolean(threadData_t *threadData, modelica_metatype _exp)
Here is the call graph for this function:

◆ boxptr_NFExpression_isCall()

DLLExport modelica_metatype boxptr_NFExpression_isCall ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 20281 of file NFExpression.c.

20282 {
20283  modelica_boolean _isCall;
20284  modelica_metatype out_isCall;
20285  _isCall = omc_NFExpression_isCall(threadData, _exp);
20286  out_isCall = mmc_mk_icon(_isCall);
20287  return out_isCall;
20288 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_NFExpression_isCall(threadData_t *threadData, modelica_metatype _exp)
Here is the call graph for this function:

◆ boxptr_NFExpression_isCref()

DLLExport modelica_metatype boxptr_NFExpression_isCref ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 20339 of file NFExpression.c.

20340 {
20341  modelica_boolean _isCref;
20342  modelica_metatype out_isCref;
20343  _isCref = omc_NFExpression_isCref(threadData, _exp);
20344  out_isCref = mmc_mk_icon(_isCref);
20345  return out_isCref;
20346 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_NFExpression_isCref(threadData_t *threadData, modelica_metatype _exp)
Here is the call graph for this function:

◆ boxptr_NFExpression_isEmpty()

DLLExport modelica_metatype boxptr_NFExpression_isEmpty ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 1328 of file NFExpression.c.

1329 {
1330  modelica_boolean _empty;
1331  modelica_metatype out_empty;
1332  _empty = omc_NFExpression_isEmpty(threadData, _exp);
1333  out_empty = mmc_mk_icon(_empty);
1334  return out_empty;
1335 }
signed char modelica_boolean
DLLExport modelica_boolean omc_NFExpression_isEmpty(threadData_t *threadData, modelica_metatype _exp)
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_isEmptyArray()

DLLExport modelica_metatype boxptr_NFExpression_isEmptyArray ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 20400 of file NFExpression.c.

20401 {
20402  modelica_boolean _emptyArray;
20403  modelica_metatype out_emptyArray;
20404  _emptyArray = omc_NFExpression_isEmptyArray(threadData, _exp);
20405  out_emptyArray = mmc_mk_icon(_emptyArray);
20406  return out_emptyArray;
20407 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_NFExpression_isEmptyArray(threadData_t *threadData, modelica_metatype _exp)
Here is the call graph for this function:

◆ boxptr_NFExpression_isEqual()

DLLExport modelica_metatype boxptr_NFExpression_isEqual ( threadData_t threadData,
modelica_metatype  _exp1,
modelica_metatype  _exp2 
)

Definition at line 20004 of file NFExpression.c.

20005 {
20006  modelica_boolean _isEqual;
20007  modelica_metatype out_isEqual;
20008  _isEqual = omc_NFExpression_isEqual(threadData, _exp1, _exp2);
20009  out_isEqual = mmc_mk_icon(_isEqual);
20010  return out_isEqual;
20011 }
signed char modelica_boolean
DLLExport modelica_boolean omc_NFExpression_isEqual(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _exp2)
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_isFalse()

DLLExport modelica_metatype boxptr_NFExpression_isFalse ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 20066 of file NFExpression.c.

20067 {
20068  modelica_boolean _isTrue;
20069  modelica_metatype out_isTrue;
20070  _isTrue = omc_NFExpression_isFalse(threadData, _exp);
20071  out_isTrue = mmc_mk_icon(_isTrue);
20072  return out_isTrue;
20073 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_NFExpression_isFalse(threadData_t *threadData, modelica_metatype _exp)
Here is the call graph for this function:

◆ boxptr_NFExpression_isInteger()

DLLExport modelica_metatype boxptr_NFExpression_isInteger ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 3547 of file NFExpression.c.

3548 {
3549  modelica_boolean _isInteger;
3550  modelica_metatype out_isInteger;
3551  _isInteger = omc_NFExpression_isInteger(threadData, _exp);
3552  out_isInteger = mmc_mk_icon(_isInteger);
3553  return out_isInteger;
3554 }
signed char modelica_boolean
DLLExport modelica_boolean omc_NFExpression_isInteger(threadData_t *threadData, modelica_metatype _exp)
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_isIterator()

DLLExport modelica_metatype boxptr_NFExpression_isIterator ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 4102 of file NFExpression.c.

4103 {
4104  modelica_boolean _isIterator;
4105  modelica_metatype out_isIterator;
4106  _isIterator = omc_NFExpression_isIterator(threadData, _exp);
4107  out_isIterator = mmc_mk_icon(_isIterator);
4108  return out_isIterator;
4109 }
signed char modelica_boolean
DLLExport modelica_boolean omc_NFExpression_isIterator(threadData_t *threadData, modelica_metatype _exp)
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_isLiteral()

DLLExport modelica_metatype boxptr_NFExpression_isLiteral ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 3659 of file NFExpression.c.

3660 {
3661  modelica_boolean _literal;
3662  modelica_metatype out_literal;
3663  _literal = omc_NFExpression_isLiteral(threadData, _exp);
3664  out_literal = mmc_mk_icon(_literal);
3665  return out_literal;
3666 }
signed char modelica_boolean
DLLExport modelica_boolean omc_NFExpression_isLiteral(threadData_t *threadData, modelica_metatype _exp)
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_isMutable()

DLLExport modelica_metatype boxptr_NFExpression_isMutable ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 1386 of file NFExpression.c.

1387 {
1388  modelica_boolean _isMutable;
1389  modelica_metatype out_isMutable;
1390  _isMutable = omc_NFExpression_isMutable(threadData, _exp);
1391  out_isMutable = mmc_mk_icon(_isMutable);
1392  return out_isMutable;
1393 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_NFExpression_isMutable(threadData_t *threadData, modelica_metatype _exp)
Here is the call graph for this function:

◆ boxptr_NFExpression_isOne()

DLLExport modelica_metatype boxptr_NFExpression_isOne ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 3918 of file NFExpression.c.

3919 {
3920  modelica_boolean _isOne;
3921  modelica_metatype out_isOne;
3922  _isOne = omc_NFExpression_isOne(threadData, _exp);
3923  out_isOne = mmc_mk_icon(_isOne);
3924  return out_isOne;
3925 }
DLLExport modelica_boolean omc_NFExpression_isOne(threadData_t *threadData, modelica_metatype _exp)
signed char modelica_boolean
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_isPositive()

DLLExport modelica_metatype boxptr_NFExpression_isPositive ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 3840 of file NFExpression.c.

3841 {
3842  modelica_boolean _positive;
3843  modelica_metatype out_positive;
3844  _positive = omc_NFExpression_isPositive(threadData, _exp);
3845  out_positive = mmc_mk_icon(_positive);
3846  return out_positive;
3847 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_NFExpression_isPositive(threadData_t *threadData, modelica_metatype _exp)
Here is the call graph for this function:

◆ boxptr_NFExpression_isRecord()

DLLExport modelica_metatype boxptr_NFExpression_isRecord ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 3431 of file NFExpression.c.

3432 {
3433  modelica_boolean _isRecord;
3434  modelica_metatype out_isRecord;
3435  _isRecord = omc_NFExpression_isRecord(threadData, _exp);
3436  out_isRecord = mmc_mk_icon(_isRecord);
3437  return out_isRecord;
3438 }
signed char modelica_boolean
DLLExport modelica_boolean omc_NFExpression_isRecord(threadData_t *threadData, modelica_metatype _exp)
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_isRecordOrRecordArray()

DLLExport modelica_metatype boxptr_NFExpression_isRecordOrRecordArray ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 3373 of file NFExpression.c.

3374 {
3375  modelica_boolean _isRecord;
3376  modelica_metatype out_isRecord;
3377  _isRecord = omc_NFExpression_isRecordOrRecordArray(threadData, _exp);
3378  out_isRecord = mmc_mk_icon(_isRecord);
3379  return out_isRecord;
3380 }
signed char modelica_boolean
DLLExport modelica_boolean omc_NFExpression_isRecordOrRecordArray(threadData_t *threadData, modelica_metatype _exp)
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_isScalarLiteral()

DLLExport modelica_metatype boxptr_NFExpression_isScalarLiteral ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 3747 of file NFExpression.c.

3748 {
3749  modelica_boolean _literal;
3750  modelica_metatype out_literal;
3751  _literal = omc_NFExpression_isScalarLiteral(threadData, _exp);
3752  out_literal = mmc_mk_icon(_literal);
3753  return out_literal;
3754 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_NFExpression_isScalarLiteral(threadData_t *threadData, modelica_metatype _exp)
Here is the call graph for this function:

◆ boxptr_NFExpression_isTrue()

DLLExport modelica_metatype boxptr_NFExpression_isTrue ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 20223 of file NFExpression.c.

20224 {
20225  modelica_boolean _isTrue;
20226  modelica_metatype out_isTrue;
20227  _isTrue = omc_NFExpression_isTrue(threadData, _exp);
20228  out_isTrue = mmc_mk_icon(_isTrue);
20229  return out_isTrue;
20230 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_NFExpression_isTrue(threadData_t *threadData, modelica_metatype _exp)
Here is the call graph for this function:

◆ boxptr_NFExpression_isZero()

DLLExport modelica_metatype boxptr_NFExpression_isZero ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 4010 of file NFExpression.c.

4011 {
4012  modelica_boolean _isZero;
4013  modelica_metatype out_isZero;
4014  _isZero = omc_NFExpression_isZero(threadData, _exp);
4015  out_isZero = mmc_mk_icon(_isZero);
4016  return out_isZero;
4017 }
DLLExport modelica_boolean omc_NFExpression_isZero(threadData_t *threadData, modelica_metatype _exp)
signed char modelica_boolean
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_listContains()

DLLExport modelica_metatype boxptr_NFExpression_listContains ( threadData_t threadData,
modelica_metatype  _expl,
modelica_fnptr  _func 
)

Definition at line 4593 of file NFExpression.c.

4594 {
4595  modelica_boolean _res;
4596  modelica_metatype out_res;
4597  _res = omc_NFExpression_listContains(threadData, _expl, _func);
4598  out_res = mmc_mk_icon(_res);
4599  return out_res;
4600 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_NFExpression_listContains(threadData_t *threadData, modelica_metatype _expl, modelica_fnptr _func)
Here is the call graph for this function:

◆ boxptr_NFExpression_makeArray()

DLLExport modelica_metatype boxptr_NFExpression_makeArray ( threadData_t threadData,
modelica_metatype  _ty,
modelica_metatype  _expl,
modelica_metatype  _literal 
)

Definition at line 17729 of file NFExpression.c.

17730 {
17731  modelica_integer tmp1;
17732  modelica_metatype _outExp = NULL;
17733  tmp1 = mmc_unbox_integer(_literal);
17734  _outExp = omc_NFExpression_makeArray(threadData, _ty, _expl, tmp1);
17735  /* skip box _outExp; NFExpression */
17736  return _outExp;
17737 }
m_integer modelica_integer
DLLExport modelica_metatype omc_NFExpression_makeArray(threadData_t *threadData, modelica_metatype _ty, modelica_metatype _expl, modelica_boolean _literal)
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_makeEnumLiteral()

DLLExport modelica_metatype boxptr_NFExpression_makeEnumLiteral ( threadData_t threadData,
modelica_metatype  _enumType,
modelica_metatype  _index 
)

Definition at line 15671 of file NFExpression.c.

15672 {
15673  modelica_integer tmp1;
15674  modelica_metatype _literal = NULL;
15675  tmp1 = mmc_unbox_integer(_index);
15676  _literal = omc_NFExpression_makeEnumLiteral(threadData, _enumType, tmp1);
15677  /* skip box _literal; NFExpression */
15678  return _literal;
15679 }
m_integer modelica_integer
void * modelica_metatype
DLLExport modelica_metatype omc_NFExpression_makeEnumLiteral(threadData_t *threadData, modelica_metatype _enumType, modelica_integer _index)
Here is the call graph for this function:

◆ boxptr_NFExpression_makeIdentityMatrix()

DLLExport modelica_metatype boxptr_NFExpression_makeIdentityMatrix ( threadData_t threadData,
modelica_metatype  _n,
modelica_metatype  _elementType 
)

Definition at line 2309 of file NFExpression.c.

2310 {
2311  modelica_integer tmp1;
2312  modelica_metatype _matrix = NULL;
2313  tmp1 = mmc_unbox_integer(_n);
2314  _matrix = omc_NFExpression_makeIdentityMatrix(threadData, tmp1, _elementType);
2315  /* skip box _matrix; NFExpression */
2316  return _matrix;
2317 }
m_integer modelica_integer
DLLExport modelica_metatype omc_NFExpression_makeIdentityMatrix(threadData_t *threadData, modelica_integer _n, modelica_metatype _elementType)
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_makeInteger()

DLLExport modelica_metatype boxptr_NFExpression_makeInteger ( threadData_t threadData,
modelica_metatype  _value 
)

Definition at line 17773 of file NFExpression.c.

17774 {
17775  modelica_integer tmp1;
17776  modelica_metatype _exp = NULL;
17777  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
17778  tmp1 = mmc_unbox_integer(_value);
17779  _exp = omc_NFExpression_makeInteger(threadData, tmp1);
17780  /* skip box _exp; NFExpression */
17781  return _exp;
17782 }
m_integer modelica_integer
DLLExport modelica_metatype omc_NFExpression_makeInteger(threadData_t *threadData, modelica_integer _value)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ boxptr_NFExpression_makeReal()

DLLExport modelica_metatype boxptr_NFExpression_makeReal ( threadData_t threadData,
modelica_metatype  _value 
)

Definition at line 17829 of file NFExpression.c.

17830 {
17831  modelica_real tmp1;
17832  modelica_metatype _exp = NULL;
17833  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
17834  tmp1 = mmc_unbox_real(_value);
17835  _exp = omc_NFExpression_makeReal(threadData, tmp1);
17836  /* skip box _exp; NFExpression */
17837  return _exp;
17838 }
double modelica_real
DLLExport modelica_metatype omc_NFExpression_makeReal(threadData_t *threadData, modelica_real _value)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ boxptr_NFExpression_nthRecordElement()

DLLExport modelica_metatype boxptr_NFExpression_nthRecordElement ( threadData_t threadData,
modelica_metatype  _index,
modelica_metatype  _recordExp 
)

Definition at line 694 of file NFExpression.c.

695 {
696  modelica_integer tmp1;
697  modelica_metatype _outExp = NULL;
698  tmp1 = mmc_unbox_integer(_index);
699  _outExp = omc_NFExpression_nthRecordElement(threadData, tmp1, _recordExp);
700  /* skip box _outExp; NFExpression */
701  return _outExp;
702 }
m_integer modelica_integer
DLLExport modelica_metatype omc_NFExpression_nthRecordElement(threadData_t *threadData, modelica_integer _index, modelica_metatype _recordExp)
Definition: NFExpression.c:536
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_operandString()

DLLExport modelica_metatype boxptr_NFExpression_operandString ( threadData_t threadData,
modelica_metatype  _operand,
modelica_metatype  _operator,
modelica_metatype  _lhs 
)

Definition at line 14633 of file NFExpression.c.

14634 {
14635  modelica_integer tmp1;
14636  modelica_string _str = NULL;
14637  tmp1 = mmc_unbox_integer(_lhs);
14638  _str = omc_NFExpression_operandString(threadData, _operand, _operator, tmp1);
14639  /* skip box _str; String */
14640  return _str;
14641 }
modelica_metatype modelica_string
m_integer modelica_integer
DLLExport modelica_string omc_NFExpression_operandString(threadData_t *threadData, modelica_metatype _operand, modelica_metatype _operator, modelica_boolean _lhs)
Here is the call graph for this function:

◆ boxptr_NFExpression_priority()

DLLExport modelica_metatype boxptr_NFExpression_priority ( threadData_t threadData,
modelica_metatype  _exp,
modelica_metatype  _lhs 
)

Definition at line 14581 of file NFExpression.c.

14582 {
14583  modelica_integer tmp1;
14584  modelica_integer _priority;
14585  modelica_metatype out_priority;
14586  tmp1 = mmc_unbox_integer(_lhs);
14587  _priority = omc_NFExpression_priority(threadData, _exp, tmp1);
14588  out_priority = mmc_mk_icon(_priority);
14589  return out_priority;
14590 }
m_integer modelica_integer
DLLExport modelica_integer omc_NFExpression_priority(threadData_t *threadData, modelica_metatype _exp, modelica_boolean _lhs)
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_promote()

DLLExport modelica_metatype boxptr_NFExpression_promote ( threadData_t threadData,
modelica_metatype $in_e,
modelica_metatype $in_ty,
modelica_metatype  _n,
modelica_metatype out_ty 
)

Definition at line 2181 of file NFExpression.c.

2182 {
2183  modelica_integer tmp1;
2184  modelica_metatype _e = NULL;
2185  tmp1 = mmc_unbox_integer(_n);
2186  _e = omc_NFExpression_promote(threadData, _$in_e, _$in_ty, tmp1, out_ty);
2187  /* skip box _e; NFExpression */
2188  /* skip box _ty; NFType */
2189  return _e;
2190 }
m_integer modelica_integer
void * modelica_metatype
DLLExport modelica_metatype omc_NFExpression_promote(threadData_t *threadData, modelica_metatype _ $in_e, modelica_metatype _ $in_ty, modelica_integer _n, modelica_metatype *out_ty)
Here is the call graph for this function:

◆ boxptr_NFExpression_promote2()

DLLExport modelica_metatype boxptr_NFExpression_promote2 ( threadData_t threadData,
modelica_metatype  _exp,
modelica_metatype  _isArray,
modelica_metatype  _dims,
modelica_metatype  _types 
)

Definition at line 2036 of file NFExpression.c.

2037 {
2038  modelica_integer tmp1;
2039  modelica_integer tmp2;
2040  modelica_metatype _outExp = NULL;
2041  tmp1 = mmc_unbox_integer(_isArray);
2042  tmp2 = mmc_unbox_integer(_dims);
2043  _outExp = omc_NFExpression_promote2(threadData, _exp, tmp1, tmp2, _types);
2044  /* skip box _outExp; NFExpression */
2045  return _outExp;
2046 }
DLLExport modelica_metatype omc_NFExpression_promote2(threadData_t *threadData, modelica_metatype _exp, modelica_boolean _isArray, modelica_integer _dims, modelica_metatype _types)
m_integer modelica_integer
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_realValue()

DLLExport modelica_metatype boxptr_NFExpression_realValue ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 17890 of file NFExpression.c.

17891 {
17893  modelica_metatype out_value;
17894  _value = omc_NFExpression_realValue(threadData, _exp);
17895  out_value = mmc_mk_rcon(_value);
17896  return out_value;
17897 }
void * mmc_mk_rcon(double d)
Definition: meta_modelica.c:53
double modelica_real
DLLExport modelica_real omc_NFExpression_realValue(threadData_t *threadData, modelica_metatype _exp)
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_subscriptsContains()

DLLExport modelica_metatype boxptr_NFExpression_subscriptsContains ( threadData_t threadData,
modelica_metatype  _subs,
modelica_fnptr  _func 
)

Definition at line 4691 of file NFExpression.c.

4692 {
4693  modelica_boolean _res;
4694  modelica_metatype out_res;
4695  _res = omc_NFExpression_subscriptsContains(threadData, _subs, _func);
4696  out_res = mmc_mk_icon(_res);
4697  return out_res;
4698 }
DLLExport modelica_boolean omc_NFExpression_subscriptsContains(threadData_t *threadData, modelica_metatype _subs, modelica_fnptr _func)
signed char modelica_boolean
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_toInteger()

DLLExport modelica_metatype boxptr_NFExpression_toInteger ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 15523 of file NFExpression.c.

15524 {
15525  modelica_integer _i;
15526  modelica_metatype out_i;
15527  _i = omc_NFExpression_toInteger(threadData, _exp);
15528  out_i = mmc_mk_icon(_i);
15529  return out_i;
15530 }
m_integer modelica_integer
DLLExport modelica_integer omc_NFExpression_toInteger(threadData_t *threadData, modelica_metatype _exp)
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_tupleElement()

DLLExport modelica_metatype boxptr_NFExpression_tupleElement ( threadData_t threadData,
modelica_metatype  _exp,
modelica_metatype  _ty,
modelica_metatype  _index 
)

Definition at line 1050 of file NFExpression.c.

1051 {
1052  modelica_integer tmp1;
1053  modelica_metatype _tupleElem = NULL;
1054  tmp1 = mmc_unbox_integer(_index);
1055  _tupleElem = omc_NFExpression_tupleElement(threadData, _exp, _ty, tmp1);
1056  /* skip box _tupleElem; NFExpression */
1057  return _tupleElem;
1058 }
m_integer modelica_integer
DLLExport modelica_metatype omc_NFExpression_tupleElement(threadData_t *threadData, modelica_metatype _exp, modelica_metatype _ty, modelica_integer _index)
Definition: NFExpression.c:918
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_variability()

DLLExport modelica_metatype boxptr_NFExpression_variability ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 1844 of file NFExpression.c.

1845 {
1846  modelica_integer _var;
1847  modelica_metatype out_var;
1848  _var = omc_NFExpression_variability(threadData, _exp);
1849  out_var = mmc_mk_icon(_var);
1850  return out_var;
1851 }
DLLExport modelica_integer omc_NFExpression_variability(threadData_t *threadData, modelica_metatype _exp)
m_integer modelica_integer
void * modelica_metatype
Here is the call graph for this function:

◆ boxptr_NFExpression_variabilityList()

DLLExport modelica_metatype boxptr_NFExpression_variabilityList ( threadData_t threadData,
modelica_metatype  _expl,
modelica_metatype $in_var 
)

Definition at line 1487 of file NFExpression.c.

1488 {
1489  modelica_integer tmp1;
1490  modelica_integer _var;
1491  modelica_metatype out_var;
1492  tmp1 = mmc_unbox_integer(_$in_var);
1493  _var = omc_NFExpression_variabilityList(threadData, _expl, tmp1);
1494  out_var = mmc_mk_icon(_var);
1495  return out_var;
1496 }
m_integer modelica_integer
DLLExport modelica_integer omc_NFExpression_variabilityList(threadData_t *threadData, modelica_metatype _expl, modelica_integer _ $in_var)
void * modelica_metatype
Here is the call graph for this function:

◆ omc_NFExpression_apply()

DLLExport void omc_NFExpression_apply ( threadData_t threadData,
modelica_metatype  _exp,
modelica_fnptr  _func 
)

Definition at line 8225 of file NFExpression.c.

8226 {
8227  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
8228  MMC_SO();
8229  _tailrecursive: OMC_LABEL_UNUSED
8230 #line 8230 OMC_FILE
8231  { /* match expression */
8232  modelica_metatype tmp3_1;
8233  tmp3_1 = _exp;
8234  {
8235  modelica_metatype _e = NULL;
8236  modelica_metatype _e1 = NULL;
8237  modelica_metatype _e2 = NULL;
8238  volatile mmc_switch_type tmp3;
8239  int tmp4;
8240  tmp3 = 0;
8241  for (; tmp3 < 29; tmp3++) {
8242  switch (MMC_SWITCH_CAST(tmp3)) {
8243  case 0: {
8244  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,29,1) == 0) goto tmp2_end;
8245  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
8246  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],1,2) == 0) goto tmp2_end;
8247  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
8248  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
8249  _e1 = tmpMeta[1];
8250  _e2 = tmpMeta[2];
8251  /* Pattern matching succeeded */
8252 #line 2684 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8253  omc_NFExpression_apply(threadData, _e1, ((modelica_fnptr) _func));
8254 #line 8254 OMC_FILE
8255 
8256 #line 2685 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8257  omc_NFExpression_apply(threadData, _e2, ((modelica_fnptr) _func));
8258 #line 8258 OMC_FILE
8259 #line 8259 OMC_FILE
8260  goto tmp2_done;
8261  }
8262  case 1: {
8263  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,29,1) == 0) goto tmp2_end;
8264  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
8265  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],2,1) == 0) goto tmp2_end;
8266  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
8267  _e1 = tmpMeta[1];
8268  /* Pattern matching succeeded */
8269 #line 2691 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8270  omc_NFExpression_apply(threadData, _e1, ((modelica_fnptr) _func));
8271 #line 8271 OMC_FILE
8272 #line 8272 OMC_FILE
8273  goto tmp2_done;
8274  }
8275  case 2: {
8276  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,29,1) == 0) goto tmp2_end;
8277  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
8278  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],3,2) == 0) goto tmp2_end;
8279  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
8280  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
8281  _e1 = tmpMeta[1];
8282  _e2 = tmpMeta[2];
8283  /* Pattern matching succeeded */
8284 #line 2697 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8285  omc_NFExpression_apply(threadData, _e1, ((modelica_fnptr) _func));
8286 #line 8286 OMC_FILE
8287 
8288 #line 2698 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8289  omc_NFExpression_apply(threadData, _e2, ((modelica_fnptr) _func));
8290 #line 8290 OMC_FILE
8291 #line 8291 OMC_FILE
8292  goto tmp2_done;
8293  }
8294  case 3: {
8295  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,29,1) == 0) goto tmp2_end;
8296  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
8297  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],4,2) == 0) goto tmp2_end;
8298  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
8299  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
8300  _e1 = tmpMeta[1];
8301  _e2 = tmpMeta[2];
8302  /* Pattern matching succeeded */
8303 #line 2704 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8304  omc_NFExpression_apply(threadData, _e1, ((modelica_fnptr) _func));
8305 #line 8305 OMC_FILE
8306 
8307 #line 2705 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8308  omc_NFExpression_apply(threadData, _e2, ((modelica_fnptr) _func));
8309 #line 8309 OMC_FILE
8310 #line 8310 OMC_FILE
8311  goto tmp2_done;
8312  }
8313  case 4: {
8314  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,5,2) == 0) goto tmp2_end;
8315 
8316  /* Pattern matching succeeded */
8317 #line 2709 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8318  omc_NFExpression_applyCref(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func));
8319 #line 8319 OMC_FILE
8320 #line 8320 OMC_FILE
8321  goto tmp2_done;
8322  }
8323  case 5: {
8324  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,7,3) == 0) goto tmp2_end;
8325 
8326  /* Pattern matching succeeded */
8327 #line 2710 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8328  omc_NFExpression_applyList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func));
8329 #line 8329 OMC_FILE
8330 #line 8330 OMC_FILE
8331  goto tmp2_done;
8332  }
8333  case 6: {
8334  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,8,1) == 0) goto tmp2_end;
8335 
8336  /* Pattern matching succeeded */
8337 #line 2714 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8338  {
8339 #line 2714 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8341 #line 2714 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8342  for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))); !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
8343 #line 2714 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8344  {
8345 #line 2714 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8346  _row = MMC_CAR(tmpMeta[0]);
8347 #line 2715 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8348  omc_NFExpression_applyList(threadData, _row, ((modelica_fnptr) _func));
8349 #line 8349 OMC_FILE
8350  }
8351  }
8352 #line 8352 OMC_FILE
8353  goto tmp2_done;
8354  }
8355  case 7: {
8356  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,9,4) == 0) goto tmp2_end;
8357  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
8358  if (optionNone(tmpMeta[0])) goto tmp2_end;
8359  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 1));
8360 
8361  _e = tmpMeta[1];
8362  /* Pattern matching succeeded */
8363 #line 2722 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8364  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func));
8365 #line 8365 OMC_FILE
8366 
8367 #line 2723 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8368  omc_NFExpression_apply(threadData, _e, ((modelica_fnptr) _func));
8369 #line 8369 OMC_FILE
8370 
8371 #line 2724 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8372  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))), ((modelica_fnptr) _func));
8373 #line 8373 OMC_FILE
8374 #line 8374 OMC_FILE
8375  goto tmp2_done;
8376  }
8377  case 8: {
8378  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,9,4) == 0) goto tmp2_end;
8379 
8380  /* Pattern matching succeeded */
8381 #line 2730 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8382  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func));
8383 #line 8383 OMC_FILE
8384 
8385 #line 2731 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8386  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))), ((modelica_fnptr) _func));
8387 #line 8387 OMC_FILE
8388 #line 8388 OMC_FILE
8389  goto tmp2_done;
8390  }
8391  case 9: {
8392  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,10,2) == 0) goto tmp2_end;
8393 
8394  /* Pattern matching succeeded */
8395 #line 2735 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8396  omc_NFExpression_applyList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func));
8397 #line 8397 OMC_FILE
8398 #line 8398 OMC_FILE
8399  goto tmp2_done;
8400  }
8401  case 10: {
8402  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,11,3) == 0) goto tmp2_end;
8403 
8404  /* Pattern matching succeeded */
8405 #line 2736 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8406  omc_NFExpression_applyList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func));
8407 #line 8407 OMC_FILE
8408 #line 8408 OMC_FILE
8409  goto tmp2_done;
8410  }
8411  case 11: {
8412  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,12,1) == 0) goto tmp2_end;
8413 
8414  /* Pattern matching succeeded */
8415 #line 2737 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8416  omc_NFExpression_applyCall(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func));
8417 #line 8417 OMC_FILE
8418 #line 8418 OMC_FILE
8419  goto tmp2_done;
8420  }
8421  case 12: {
8422  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,13,2) == 0) goto tmp2_end;
8423  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
8424  if (optionNone(tmpMeta[0])) goto tmp2_end;
8425  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 1));
8426  _e = tmpMeta[1];
8427  /* Pattern matching succeeded */
8428 #line 2741 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8429  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func));
8430 #line 8430 OMC_FILE
8431 
8432 #line 2742 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8433  omc_NFExpression_apply(threadData, _e, ((modelica_fnptr) _func));
8434 #line 8434 OMC_FILE
8435 #line 8435 OMC_FILE
8436  goto tmp2_done;
8437  }
8438  case 13: {
8439  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,13,2) == 0) goto tmp2_end;
8440 
8441  /* Pattern matching succeeded */
8442 #line 2746 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8443  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func));
8444 #line 8444 OMC_FILE
8445 #line 8445 OMC_FILE
8446  goto tmp2_done;
8447  }
8448  case 14: {
8449  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,15,3) == 0) goto tmp2_end;
8450 
8451  /* Pattern matching succeeded */
8452 #line 2750 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8453  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func));
8454 #line 8454 OMC_FILE
8455 
8456 #line 2751 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8457  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func));
8458 #line 8458 OMC_FILE
8459 #line 8459 OMC_FILE
8460  goto tmp2_done;
8461  }
8462  case 15: {
8463  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,16,2) == 0) goto tmp2_end;
8464 
8465  /* Pattern matching succeeded */
8466 #line 2755 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8467  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func));
8468 #line 8468 OMC_FILE
8469 #line 8469 OMC_FILE
8470  goto tmp2_done;
8471  }
8472  case 16: {
8473  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,17,3) == 0) goto tmp2_end;
8474 
8475  /* Pattern matching succeeded */
8476 #line 2759 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8477  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func));
8478 #line 8478 OMC_FILE
8479 
8480 #line 2760 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8481  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func));
8482 #line 8482 OMC_FILE
8483 #line 8483 OMC_FILE
8484  goto tmp2_done;
8485  }
8486  case 17: {
8487  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,18,2) == 0) goto tmp2_end;
8488 
8489  /* Pattern matching succeeded */
8490 #line 2764 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8491  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func));
8492 #line 8492 OMC_FILE
8493 #line 8493 OMC_FILE
8494  goto tmp2_done;
8495  }
8496  case 18: {
8497  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,19,3) == 0) goto tmp2_end;
8498 
8499  /* Pattern matching succeeded */
8500 #line 2768 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8501  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func));
8502 #line 8502 OMC_FILE
8503 
8504 #line 2769 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8505  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func));
8506 #line 8506 OMC_FILE
8507 #line 8507 OMC_FILE
8508  goto tmp2_done;
8509  }
8510  case 19: {
8511  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,20,3) == 0) goto tmp2_end;
8512 
8513  /* Pattern matching succeeded */
8514 #line 2775 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8515  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func));
8516 #line 8516 OMC_FILE
8517 
8518 #line 2776 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8519  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func));
8520 #line 8520 OMC_FILE
8521 
8522 #line 2777 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8523  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func));
8524 #line 8524 OMC_FILE
8525 #line 8525 OMC_FILE
8526  goto tmp2_done;
8527  }
8528  case 20: {
8529  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,21,2) == 0) goto tmp2_end;
8530 
8531  /* Pattern matching succeeded */
8532 #line 2781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8533  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func));
8534 #line 8534 OMC_FILE
8535 #line 8535 OMC_FILE
8536  goto tmp2_done;
8537  }
8538  case 21: {
8539  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,22,2) == 0) goto tmp2_end;
8540 
8541  /* Pattern matching succeeded */
8542 #line 2782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8543  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func));
8544 #line 8544 OMC_FILE
8545 #line 8545 OMC_FILE
8546  goto tmp2_done;
8547  }
8548  case 22: {
8549  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,23,3) == 0) goto tmp2_end;
8550 
8551  /* Pattern matching succeeded */
8552 #line 2786 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8553  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func));
8554 #line 8554 OMC_FILE
8555 
8556 #line 2788 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8557  {
8558 #line 2788 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8559  modelica_metatype _s;
8560 #line 2788 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8561  for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))); !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
8562 #line 2788 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8563  {
8564 #line 2788 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8565  _s = MMC_CAR(tmpMeta[0]);
8566 #line 2789 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8567  omc_NFSubscript_applyExp(threadData, _s, ((modelica_fnptr) _func));
8568 #line 8568 OMC_FILE
8569  }
8570  }
8571 #line 8571 OMC_FILE
8572  goto tmp2_done;
8573  }
8574  case 23: {
8575  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,24,3) == 0) goto tmp2_end;
8576 
8577  /* Pattern matching succeeded */
8578 #line 2794 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8579  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func));
8580 #line 8580 OMC_FILE
8581 #line 8581 OMC_FILE
8582  goto tmp2_done;
8583  }
8584  case 24: {
8585  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,25,4) == 0) goto tmp2_end;
8586 
8587  /* Pattern matching succeeded */
8588 #line 2795 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8589  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func));
8590 #line 8590 OMC_FILE
8591 #line 8591 OMC_FILE
8592  goto tmp2_done;
8593  }
8594  case 25: {
8595  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,26,1) == 0) goto tmp2_end;
8596 
8597  /* Pattern matching succeeded */
8598 #line 2796 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8599  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func));
8600 #line 8600 OMC_FILE
8601 #line 8601 OMC_FILE
8602  goto tmp2_done;
8603  }
8604  case 26: {
8605  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,27,1) == 0) goto tmp2_end;
8606 
8607  /* Pattern matching succeeded */
8608 #line 2797 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8609  omc_NFExpression_apply(threadData, omc_Mutable_access(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))), ((modelica_fnptr) _func));
8610 #line 8610 OMC_FILE
8611 #line 8611 OMC_FILE
8612  goto tmp2_done;
8613  }
8614  case 27: {
8615  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,30,4) == 0) goto tmp2_end;
8616 
8617  /* Pattern matching succeeded */
8618 #line 2798 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8619  omc_NFExpression_applyList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func));
8620 #line 8620 OMC_FILE
8621 #line 8621 OMC_FILE
8622  goto tmp2_done;
8623  }
8624  case 28: {
8625 
8626  /* Pattern matching succeeded */
8627 #line 8627 OMC_FILE
8628  goto tmp2_done;
8629  }
8630  }
8631  goto tmp2_end;
8632  tmp2_end: ;
8633  }
8634  goto goto_1;
8635  goto_1:;
8636  MMC_THROW_INTERNAL();
8637  goto tmp2_done;
8638  tmp2_done:;
8639  }
8640  }
8641  ;
8642 
8643 #line 2802 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8644  (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((void(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _exp) : ((void(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _exp);
8645 #line 8645 OMC_FILE
8646  _return: OMC_LABEL_UNUSED
8647  return;
8648 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
modelica_metatype omc_Mutable_access(threadData_t *threadData, modelica_metatype _mutable)
Definition: Mutable.c:13
float mmc_switch_type
DLLExport void omc_NFExpression_applyCall(threadData_t *threadData, modelica_metatype _call, modelica_fnptr _func)
void * modelica_fnptr
DLLExport void omc_NFExpression_applyCref(threadData_t *threadData, modelica_metatype _cref, modelica_fnptr _func)
DLLExport void omc_NFExpression_apply(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
void * modelica_metatype
DLLExport void omc_NFSubscript_applyExp(threadData_t *threadData, modelica_metatype _subscript, modelica_fnptr _func)
Definition: NFSubscript.c:2084
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
DLLExport void omc_NFExpression_applyList(threadData_t *threadData, modelica_metatype _expl, modelica_fnptr _func)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_applyCall()

DLLExport void omc_NFExpression_applyCall ( threadData_t threadData,
modelica_metatype  _call,
modelica_fnptr  _func 
)

Definition at line 7993 of file NFExpression.c.

7994 {
7995  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
7996  MMC_SO();
7997  _tailrecursive: OMC_LABEL_UNUSED
7998 #line 7998 OMC_FILE
7999  { /* match expression */
8000  modelica_metatype tmp3_1;
8001  tmp3_1 = _call;
8002  {
8003  modelica_metatype _e = NULL;
8004  int tmp3;
8005  {
8006  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
8007  case 3: {
8008 
8009  /* Pattern matching succeeded */
8010 #line 2819 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8011  omc_NFExpression_applyList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), ((modelica_fnptr) _func));
8012 #line 8012 OMC_FILE
8013 
8014 #line 2821 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8015  {
8016 #line 2821 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8017  modelica_metatype _arg;
8018 #line 2821 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8019  for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))); !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
8020 #line 2821 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8021  {
8022 #line 2821 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8023  _arg = MMC_CAR(tmpMeta[0]);
8024 #line 2822 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8025  /* Pattern-matching assignment */
8026 #line 2822 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8027  tmpMeta[1] = _arg;
8028 #line 2822 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8029  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
8030 #line 2822 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8031  _e = tmpMeta[2];
8032 #line 8032 OMC_FILE
8033 
8034 #line 2823 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8035  omc_NFExpression_apply(threadData, _e, ((modelica_fnptr) _func));
8036 #line 8036 OMC_FILE
8037  }
8038  }
8039 #line 8039 OMC_FILE
8040  goto tmp2_done;
8041  }
8042  case 4: {
8043 
8044  /* Pattern matching succeeded */
8045 #line 2830 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8046  {
8047 #line 2830 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8048  modelica_metatype _arg;
8049 #line 2830 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8050  for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))); !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
8051 #line 2830 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8052  {
8053 #line 2830 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8054  _arg = MMC_CAR(tmpMeta[0]);
8055 #line 2831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8056  /* Pattern-matching assignment */
8057 #line 2831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8058  tmpMeta[1] = _arg;
8059 #line 2831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8060  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
8061 #line 2831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8062  _e = tmpMeta[2];
8063 #line 8063 OMC_FILE
8064 
8065 #line 2832 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8066  omc_NFExpression_apply(threadData, _e, ((modelica_fnptr) _func));
8067 #line 8067 OMC_FILE
8068  }
8069  }
8070 
8071 #line 2835 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8072  {
8073 #line 2835 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8074  modelica_metatype _arg;
8075 #line 2835 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8076  for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))); !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
8077 #line 2835 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8078  {
8079 #line 2835 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8080  _arg = MMC_CAR(tmpMeta[0]);
8081 #line 2836 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8082  /* Pattern-matching assignment */
8083 #line 2836 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8084  tmpMeta[1] = _arg;
8085 #line 2836 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8086  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
8087 #line 2836 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8088  _e = tmpMeta[2];
8089 #line 8089 OMC_FILE
8090 
8091 #line 2837 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8092  omc_NFExpression_apply(threadData, _e, ((modelica_fnptr) _func));
8093 #line 8093 OMC_FILE
8094  }
8095  }
8096 #line 8096 OMC_FILE
8097  goto tmp2_done;
8098  }
8099  case 5: {
8100 
8101  /* Pattern matching succeeded */
8102 #line 2844 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8103  omc_NFExpression_applyList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))), ((modelica_fnptr) _func));
8104 #line 8104 OMC_FILE
8105 #line 8105 OMC_FILE
8106  goto tmp2_done;
8107  }
8108  case 6: {
8109 
8110  /* Pattern matching succeeded */
8111 #line 2850 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8112  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), ((modelica_fnptr) _func));
8113 #line 8113 OMC_FILE
8114 
8115 #line 2852 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8116  {
8117 #line 2852 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8118  modelica_metatype _i;
8119 #line 2852 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8120  for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))); !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
8121 #line 2852 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8122  {
8123 #line 2852 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8124  _i = MMC_CAR(tmpMeta[0]);
8125 #line 2853 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8126  omc_NFExpression_apply(threadData, omc_Util_tuple22(threadData, _i), ((modelica_fnptr) _func));
8127 #line 8127 OMC_FILE
8128  }
8129  }
8130 #line 8130 OMC_FILE
8131  goto tmp2_done;
8132  }
8133  case 7: {
8134 
8135  /* Pattern matching succeeded */
8136 #line 2860 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8137  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))), ((modelica_fnptr) _func));
8138 #line 8138 OMC_FILE
8139 
8140 #line 2862 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8141  {
8142 #line 2862 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8143  modelica_metatype _i;
8144 #line 2862 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8145  for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))); !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
8146 #line 2862 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8147  {
8148 #line 2862 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8149  _i = MMC_CAR(tmpMeta[0]);
8150 #line 2863 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8151  omc_NFExpression_apply(threadData, omc_Util_tuple22(threadData, _i), ((modelica_fnptr) _func));
8152 #line 8152 OMC_FILE
8153  }
8154  }
8155 #line 8155 OMC_FILE
8156  goto tmp2_done;
8157  }
8158  case 8: {
8159 
8160  /* Pattern matching succeeded */
8161 #line 2870 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8162  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), ((modelica_fnptr) _func));
8163 #line 8163 OMC_FILE
8164 
8165 #line 2872 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8166  {
8167 #line 2872 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8168  modelica_metatype _i;
8169 #line 2872 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8170  for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))); !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
8171 #line 2872 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8172  {
8173 #line 2872 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8174  _i = MMC_CAR(tmpMeta[0]);
8175 #line 2873 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8176  omc_NFExpression_apply(threadData, omc_Util_tuple22(threadData, _i), ((modelica_fnptr) _func));
8177 #line 8177 OMC_FILE
8178  }
8179  }
8180 #line 8180 OMC_FILE
8181  goto tmp2_done;
8182  }
8183  case 9: {
8184 
8185  /* Pattern matching succeeded */
8186 #line 2880 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8187  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))), ((modelica_fnptr) _func));
8188 #line 8188 OMC_FILE
8189 
8190 #line 2882 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8191  {
8192 #line 2882 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8193  modelica_metatype _i;
8194 #line 2882 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8195  for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 6))); !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
8196 #line 2882 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8197  {
8198 #line 2882 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8199  _i = MMC_CAR(tmpMeta[0]);
8200 #line 2883 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8201  omc_NFExpression_apply(threadData, omc_Util_tuple22(threadData, _i), ((modelica_fnptr) _func));
8202 #line 8202 OMC_FILE
8203  }
8204  }
8205 #line 8205 OMC_FILE
8206  goto tmp2_done;
8207  }
8208  }
8209  goto tmp2_end;
8210  tmp2_end: ;
8211  }
8212  goto goto_1;
8213  goto_1:;
8214  MMC_THROW_INTERNAL();
8215  goto tmp2_done;
8216  tmp2_done:;
8217  }
8218  }
8219  ;
8220  _return: OMC_LABEL_UNUSED
8221  return;
8222 }
void * modelica_fnptr
DLLExport void omc_NFExpression_apply(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
void * modelica_metatype
DLLExport modelica_metatype omc_Util_tuple22(threadData_t *threadData, modelica_metatype _inTuple)
Definition: Util.c:5334
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
DLLExport void omc_NFExpression_applyList(threadData_t *threadData, modelica_metatype _expl, modelica_fnptr _func)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_applyCref()

DLLExport void omc_NFExpression_applyCref ( threadData_t threadData,
modelica_metatype  _cref,
modelica_fnptr  _func 
)

Definition at line 7917 of file NFExpression.c.

7918 {
7919  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
7920  MMC_SO();
7921  _tailrecursive: OMC_LABEL_UNUSED
7922 #line 7922 OMC_FILE
7923  { /* match expression */
7924  modelica_metatype tmp3_1;
7925  tmp3_1 = _cref;
7926  {
7927  volatile mmc_switch_type tmp3;
7928  int tmp4;
7929  tmp3 = 0;
7930  for (; tmp3 < 2; tmp3++) {
7931  switch (MMC_SWITCH_CAST(tmp3)) {
7932  case 0: {
7933  modelica_integer tmp5;
7934  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,5) == 0) goto tmp2_end;
7935  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
7936  tmp5 = mmc_unbox_integer(tmpMeta[0]);
7937  if (1 != tmp5) goto tmp2_end;
7938 
7939  /* Pattern matching succeeded */
7940 #line 2901 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7941  {
7942 #line 2901 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7943  modelica_metatype _s;
7944 #line 2901 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7945  for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 3))); !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
7946 #line 2901 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7947  {
7948 #line 2901 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7949  _s = MMC_CAR(tmpMeta[0]);
7950 #line 2902 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7951  omc_NFExpression_applyCrefSubscript(threadData, _s, ((modelica_fnptr) _func));
7952 #line 7952 OMC_FILE
7953  }
7954  }
7955 
7956 #line 2905 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7957  /* Tail recursive call */
7958 #line 2905 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7959  _cref = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 6)));
7960 #line 2905 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7961  goto _tailrecursive;
7962 #line 2905 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7963  /* TODO: Make sure any eventual dead code below is never generated */
7964 #line 2905 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7965  ;
7966 #line 7966 OMC_FILE
7967 #line 7967 OMC_FILE
7968  goto tmp2_done;
7969  }
7970  case 1: {
7971 
7972  /* Pattern matching succeeded */
7973 #line 7973 OMC_FILE
7974  goto tmp2_done;
7975  }
7976  }
7977  goto tmp2_end;
7978  tmp2_end: ;
7979  }
7980  goto goto_1;
7981  goto_1:;
7982  MMC_THROW_INTERNAL();
7983  goto tmp2_done;
7984  tmp2_done:;
7985  }
7986  }
7987  ;
7988  _return: OMC_LABEL_UNUSED
7989  return;
7990 }
m_integer modelica_integer
float mmc_switch_type
void * modelica_fnptr
void * modelica_metatype
DLLExport void omc_NFExpression_applyCrefSubscript(threadData_t *threadData, modelica_metatype _subscript, modelica_fnptr _func)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_applyCrefSubscript()

DLLExport void omc_NFExpression_applyCrefSubscript ( threadData_t threadData,
modelica_metatype  _subscript,
modelica_fnptr  _func 
)

Definition at line 7855 of file NFExpression.c.

7856 {
7857  MMC_SO();
7858  _tailrecursive: OMC_LABEL_UNUSED
7859 #line 7859 OMC_FILE
7860  { /* match expression */
7861  modelica_metatype tmp3_1;
7862  tmp3_1 = _subscript;
7863  {
7864  int tmp3;
7865  {
7866  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
7867  case 4: {
7868 
7869  /* Pattern matching succeeded */
7870 #line 2922 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7871  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_subscript), 2))), ((modelica_fnptr) _func));
7872 #line 7872 OMC_FILE
7873 #line 7873 OMC_FILE
7874  goto tmp2_done;
7875  }
7876  case 5: {
7877 
7878  /* Pattern matching succeeded */
7879 #line 2923 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7880  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_subscript), 2))), ((modelica_fnptr) _func));
7881 #line 7881 OMC_FILE
7882 #line 7882 OMC_FILE
7883  goto tmp2_done;
7884  }
7885  case 6: {
7886 
7887  /* Pattern matching succeeded */
7888 #line 2924 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7889  omc_NFExpression_apply(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_subscript), 2))), ((modelica_fnptr) _func));
7890 #line 7890 OMC_FILE
7891 #line 7891 OMC_FILE
7892  goto tmp2_done;
7893  }
7894  case 8: {
7895 
7896  /* Pattern matching succeeded */
7897 #line 7897 OMC_FILE
7898  goto tmp2_done;
7899  }
7900  }
7901  goto tmp2_end;
7902  tmp2_end: ;
7903  }
7904  goto goto_1;
7905  goto_1:;
7906  MMC_THROW_INTERNAL();
7907  goto tmp2_done;
7908  tmp2_done:;
7909  }
7910  }
7911  ;
7912  _return: OMC_LABEL_UNUSED
7913  return;
7914 }
void * modelica_fnptr
DLLExport void omc_NFExpression_apply(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
void * modelica_metatype
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_applyIndexSubscriptArray()

DLLExport modelica_metatype omc_NFExpression_applyIndexSubscriptArray ( threadData_t threadData,
modelica_metatype  _exp,
modelica_metatype  _index,
modelica_metatype  _restSubscripts 
)

Definition at line 16623 of file NFExpression.c.

16624 {
16625  modelica_metatype _outExp = NULL;
16626  modelica_metatype _index_exp = NULL;
16627  modelica_metatype _expl = NULL;
16628  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
16629  MMC_SO();
16630  _tailrecursive: OMC_LABEL_UNUSED
16631  _index_exp = omc_NFSubscript_toExp(threadData, _index);
16632 #line 1113 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16633  if(omc_NFExpression_isScalarLiteral(threadData, _index_exp))
16634 #line 1113 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16635  {
16636 #line 1114 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16637  /* Pattern-matching assignment */
16638 #line 1114 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16639  tmpMeta[0] = _exp;
16640 #line 1114 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16641  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],7,3) == 0) MMC_THROW_INTERNAL();
16642 #line 1114 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16643  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
16644 #line 1114 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16645  _expl = tmpMeta[1];
16646 #line 16646 OMC_FILE
16647 
16648 #line 1115 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16649  _outExp = omc_NFExpression_applySubscripts(threadData, _restSubscripts, listGet(_expl, omc_NFExpression_toInteger(threadData, _index_exp)));
16650 #line 16650 OMC_FILE
16651  }
16652  else
16653  {
16654 #line 1117 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16655  tmpMeta[0] = mmc_mk_cons(_index, _restSubscripts);
16656 #line 1117 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16657  _outExp = omc_NFExpression_makeSubscriptedExp(threadData, tmpMeta[0], _exp);
16658 #line 16658 OMC_FILE
16659  }
16660  _return: OMC_LABEL_UNUSED
16661  return _outExp;
16662 }
DLLExport modelica_integer omc_NFExpression_toInteger(threadData_t *threadData, modelica_metatype _exp)
void * modelica_metatype
DLLExport modelica_metatype omc_NFExpression_applySubscripts(threadData_t *threadData, modelica_metatype _subscripts, modelica_metatype _exp)
DLLExport modelica_boolean omc_NFExpression_isScalarLiteral(threadData_t *threadData, modelica_metatype _exp)
DLLExport modelica_metatype omc_NFSubscript_toExp(threadData_t *threadData, modelica_metatype _subscript)
Definition: NFSubscript.c:2994
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
DLLExport modelica_metatype omc_NFExpression_makeSubscriptedExp(threadData_t *threadData, modelica_metatype _subscripts, modelica_metatype _exp)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_applyIndexSubscriptArrayConstructor()

DLLExport modelica_metatype omc_NFExpression_applyIndexSubscriptArrayConstructor ( threadData_t threadData,
modelica_metatype  _call,
modelica_metatype  _index 
)

Definition at line 16036 of file NFExpression.c.

16037 {
16038  modelica_metatype _subscriptedExp = NULL;
16039  modelica_metatype _ty = NULL;
16040  modelica_integer _var;
16041  modelica_metatype _exp = NULL;
16042  modelica_metatype _iter_exp = NULL;
16043  modelica_metatype _iters = NULL;
16044  modelica_metatype _iter = NULL;
16045  modelica_integer tmp1;
16046  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
16047  MMC_SO();
16048  _tailrecursive: OMC_LABEL_UNUSED
16049 #line 1266 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16050  /* Pattern-matching assignment */
16051 #line 1266 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16052  tmpMeta[0] = _call;
16053 #line 1266 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16054  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],4,4) == 0) MMC_THROW_INTERNAL();
16055 #line 1266 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16056  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
16057 #line 1266 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16058  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
16059 #line 1266 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16060  tmp1 = mmc_unbox_integer(tmpMeta[2]);
16061 #line 1266 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16062  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4));
16063 #line 1266 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16064  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 5));
16065 #line 1266 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16066  _ty = tmpMeta[1];
16067 #line 1266 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16068  _var = tmp1 /* pattern as ty=enumeration(CONSTANT, STRUCTURAL_PARAMETER, PARAMETER, DISCRETE, IMPLICITLY_DISCRETE, CONTINUOUS) */;
16069 #line 1266 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16070  _exp = tmpMeta[3];
16071 #line 1266 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16072  _iters = tmpMeta[4];
16073 #line 16073 OMC_FILE
16074 
16075 #line 1267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16076  /* Pattern-matching tuple assignment */
16077 #line 1267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16078  tmpMeta[1] = omc_List_splitLast(threadData, _iters, &tmpMeta[0]);
16079 #line 1267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16080  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
16081 #line 1267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16082  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16083 #line 1267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16084  _iter = tmpMeta[2];
16085 #line 1267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16086  _iter_exp = tmpMeta[3];
16087 #line 1267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16088  _iters = tmpMeta[0];
16089 #line 16089 OMC_FILE
16090 
16091 #line 1268 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16092  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
16093 #line 1268 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16094  _iter_exp = omc_NFExpression_applySubscript(threadData, _index, _iter_exp, tmpMeta[0]);
16095 #line 16095 OMC_FILE
16096 
16097 #line 1269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16098  _subscriptedExp = omc_NFExpression_replaceIterator(threadData, _exp, _iter, _iter_exp);
16099 #line 16099 OMC_FILE
16100 
16101 #line 1271 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16102  if((!listEmpty(_iters)))
16103 #line 1271 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16104  {
16105 #line 1272 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16106  tmpMeta[0] = mmc_mk_box5(7, &NFCall_Call_TYPED__ARRAY__CONSTRUCTOR__desc, omc_NFType_unliftArray(threadData, _ty), mmc_mk_integer((modelica_integer)_var), _subscriptedExp, _iters);
16107 #line 1272 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16108  tmpMeta[1] = mmc_mk_box2(15, &NFExpression_CALL__desc, tmpMeta[0]);
16109 #line 1272 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16110  _subscriptedExp = tmpMeta[1];
16111 #line 16111 OMC_FILE
16112  }
16113  _return: OMC_LABEL_UNUSED
16114  return _subscriptedExp;
16115 }
m_integer modelica_integer
struct record_description NFExpression_CALL__desc
DLLExport modelica_metatype omc_List_splitLast(threadData_t *threadData, modelica_metatype _inList, modelica_metatype *out_outRest)
Definition: List.c:15325
struct record_description NFCall_Call_TYPED__ARRAY__CONSTRUCTOR__desc
void * modelica_metatype
DLLExport modelica_metatype omc_NFExpression_applySubscript(threadData_t *threadData, modelica_metatype _subscript, modelica_metatype _exp, modelica_metatype _restSubscripts)
DLLExport modelica_metatype omc_NFType_unliftArray(threadData_t *threadData, modelica_metatype _ $in_ty)
Definition: NFType.c:3915
DLLExport modelica_metatype omc_NFExpression_replaceIterator(threadData_t *threadData, modelica_metatype _ $in_exp, modelica_metatype _iterator, modelica_metatype _iteratorValue)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_applyIndexSubscriptRange()

DLLExport modelica_metatype omc_NFExpression_applyIndexSubscriptRange ( threadData_t threadData,
modelica_metatype  _rangeExp,
modelica_metatype  _index 
)

Definition at line 16372 of file NFExpression.c.

16373 {
16374  modelica_metatype _outExp = NULL;
16375  modelica_metatype _index_exp = NULL;
16376  modelica_metatype _start_exp = NULL;
16377  modelica_metatype _stop_exp = NULL;
16378  modelica_metatype _step_exp = NULL;
16379  modelica_metatype _ty = NULL;
16380  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
16381  MMC_SO();
16382  _tailrecursive: OMC_LABEL_UNUSED
16383 #line 1165 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16384  /* Pattern-matching assignment */
16385 #line 1165 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16386  tmpMeta[0] = _index;
16387 #line 1165 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16388  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],2,1) == 0) MMC_THROW_INTERNAL();
16389 #line 1165 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16390  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
16391 #line 1165 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16392  _index_exp = tmpMeta[1];
16393 #line 16393 OMC_FILE
16394 
16395 #line 1167 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16396  if(omc_NFExpression_isScalarLiteral(threadData, _index_exp))
16397 #line 1167 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16398  {
16399 #line 1168 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16400  /* Pattern-matching assignment */
16401 #line 1168 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16402  tmpMeta[0] = _rangeExp;
16403 #line 1168 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16404  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],9,4) == 0) MMC_THROW_INTERNAL();
16405 #line 1168 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16406  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
16407 #line 1168 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16408  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4));
16409 #line 1168 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16410  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 5));
16411 #line 1168 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16412  _start_exp = tmpMeta[1];
16413 #line 1168 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16414  _step_exp = tmpMeta[2];
16415 #line 1168 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16416  _stop_exp = tmpMeta[3];
16417 #line 16417 OMC_FILE
16418 
16419 #line 1169 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16420  _outExp = omc_NFExpression_applyIndexSubscriptRange2(threadData, _start_exp, _step_exp, _stop_exp, omc_NFExpression_toInteger(threadData, _index_exp));
16421 #line 16421 OMC_FILE
16422  }
16423  else
16424  {
16425 #line 1171 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16426  /* Pattern-matching assignment */
16427 #line 1171 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16428  tmpMeta[0] = _rangeExp;
16429 #line 1171 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16430  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],9,4) == 0) MMC_THROW_INTERNAL();
16431 #line 1171 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16432  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
16433 #line 1171 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16434  _ty = tmpMeta[1];
16435 #line 16435 OMC_FILE
16436 
16437 #line 1172 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16438  tmpMeta[0] = mmc_mk_cons(_index, MMC_REFSTRUCTLIT(mmc_nil));
16439 #line 1172 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16440  tmpMeta[1] = mmc_mk_box4(26, &NFExpression_SUBSCRIPTED__EXP__desc, _rangeExp, tmpMeta[0], _ty);
16441 #line 1172 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16442  _outExp = tmpMeta[1];
16443 #line 16443 OMC_FILE
16444  }
16445  _return: OMC_LABEL_UNUSED
16446  return _outExp;
16447 }
DLLExport modelica_metatype omc_NFExpression_applyIndexSubscriptRange2(threadData_t *threadData, modelica_metatype _startExp, modelica_metatype _stepExp, modelica_metatype _stopExp, modelica_integer _index)
struct record_description NFExpression_SUBSCRIPTED__EXP__desc
DLLExport modelica_integer omc_NFExpression_toInteger(threadData_t *threadData, modelica_metatype _exp)
void * modelica_metatype
DLLExport modelica_boolean omc_NFExpression_isScalarLiteral(threadData_t *threadData, modelica_metatype _exp)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_applyIndexSubscriptRange2()

DLLExport modelica_metatype omc_NFExpression_applyIndexSubscriptRange2 ( threadData_t threadData,
modelica_metatype  _startExp,
modelica_metatype  _stepExp,
modelica_metatype  _stopExp,
modelica_integer  _index 
)

Definition at line 16244 of file NFExpression.c.

16245 {
16246  modelica_metatype _subscriptedExp = NULL;
16247  modelica_integer _iidx;
16248  modelica_real _ridx;
16249  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
16250  MMC_SO();
16251  _tailrecursive: OMC_LABEL_UNUSED
16252 #line 16252 OMC_FILE
16253  { /* match expression */
16254  modelica_metatype tmp3_1;modelica_metatype tmp3_2;
16255  tmp3_1 = _startExp;
16256  tmp3_2 = _stepExp;
16257  {
16258  volatile mmc_switch_type tmp3;
16259  int tmp4;
16260  tmp3 = 0;
16261  for (; tmp3 < 6; tmp3++) {
16262  switch (MMC_SWITCH_CAST(tmp3)) {
16263  case 0: {
16264  modelica_integer tmp5;
16265  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,1) == 0) goto tmp2_end;
16266  if (optionNone(tmp3_2)) goto tmp2_end;
16267  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 1));
16268  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,1) == 0) goto tmp2_end;
16269  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16270  tmp5 = mmc_unbox_integer(tmpMeta[2]);
16271  _iidx = tmp5 /* pattern as ty=Integer */;
16272  /* Pattern matching succeeded */
16273 #line 1188 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16274  tmpMeta[1] = mmc_mk_box2(3, &NFExpression_INTEGER__desc, mmc_mk_integer(mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_startExp), 2)))) + (((modelica_integer) -1) + (modelica_integer)_index) * ((modelica_integer)_iidx)));
16275 #line 1188 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16276  tmpMeta[0] = tmpMeta[1];
16277 #line 16277 OMC_FILE
16278  goto tmp2_done;
16279  }
16280  case 1: {
16281  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,1) == 0) goto tmp2_end;
16282 
16283  /* Pattern matching succeeded */
16284 #line 1191 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16285  tmpMeta[1] = mmc_mk_box2(3, &NFExpression_INTEGER__desc, mmc_mk_integer(((modelica_integer) -1) + mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_startExp), 2)))) + (modelica_integer)_index));
16286 #line 1191 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16287  tmpMeta[0] = tmpMeta[1];
16288 #line 16288 OMC_FILE
16289  goto tmp2_done;
16290  }
16291  case 2: {
16292  modelica_real tmp6;
16293  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,1) == 0) goto tmp2_end;
16294  if (optionNone(tmp3_2)) goto tmp2_end;
16295  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_2), 1));
16296  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,1) == 0) goto tmp2_end;
16297  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16298  tmp6 = mmc_unbox_real(tmpMeta[2]);
16299  _ridx = tmp6 /* pattern as ty=Real */;
16300  /* Pattern matching succeeded */
16301 #line 1194 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16302  tmpMeta[1] = mmc_mk_box2(4, &NFExpression_REAL__desc, mmc_mk_real(mmc_unbox_real((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_startExp), 2)))) + (((modelica_real)(((modelica_integer) -1) + (modelica_integer)_index))) * (_ridx)));
16303 #line 1194 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16304  tmpMeta[0] = tmpMeta[1];
16305 #line 16305 OMC_FILE
16306  goto tmp2_done;
16307  }
16308  case 3: {
16309  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,1) == 0) goto tmp2_end;
16310 
16311  /* Pattern matching succeeded */
16312 #line 1197 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16313  tmpMeta[1] = mmc_mk_box2(4, &NFExpression_REAL__desc, mmc_mk_real(-1.0 + mmc_unbox_real((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_startExp), 2)))) + ((modelica_real)((modelica_integer)_index))));
16314 #line 1197 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16315  tmpMeta[0] = tmpMeta[1];
16316 #line 16316 OMC_FILE
16317  goto tmp2_done;
16318  }
16319  case 4: {
16320  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,3,1) == 0) goto tmp2_end;
16321 
16322  /* Pattern matching succeeded */
16323 #line 1200 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16324  tmpMeta[0] = (((modelica_integer)_index == ((modelica_integer) 1))?_startExp:_stopExp);
16325 #line 16325 OMC_FILE
16326  goto tmp2_done;
16327  }
16328  case 5: {
16329  modelica_integer tmp7;
16330  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,4,3) == 0) goto tmp2_end;
16331  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
16332  tmp7 = mmc_unbox_integer(tmpMeta[1]);
16333 
16334  _iidx = tmp7 /* pattern as ty=Integer */;
16335  /* Pattern matching succeeded */
16336 #line 1204 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16337  _iidx = ((modelica_integer) -1) + (modelica_integer)_iidx + (modelica_integer)_index;
16338 #line 16338 OMC_FILE
16339 #line 1205 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16340  tmpMeta[1] = mmc_mk_box4(7, &NFExpression_ENUM__LITERAL__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_startExp), 2))), omc_NFType_nthEnumLiteral(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_startExp), 2))), (modelica_integer)_iidx), mmc_mk_integer((modelica_integer)_iidx));
16341 #line 1205 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16342  tmpMeta[0] = tmpMeta[1];
16343 #line 16343 OMC_FILE
16344  goto tmp2_done;
16345  }
16346  }
16347  goto tmp2_end;
16348  tmp2_end: ;
16349  }
16350  goto goto_1;
16351  goto_1:;
16352  MMC_THROW_INTERNAL();
16353  goto tmp2_done;
16354  tmp2_done:;
16355  }
16356  }
16357  _subscriptedExp = tmpMeta[0];
16358  _return: OMC_LABEL_UNUSED
16359  return _subscriptedExp;
16360 }
double modelica_real
m_integer modelica_integer
float mmc_switch_type
struct record_description NFExpression_ENUM__LITERAL__desc
DLLExport modelica_string omc_NFType_nthEnumLiteral(threadData_t *threadData, modelica_metatype _ty, modelica_integer _index)
Definition: NFType.c:1413
struct record_description NFExpression_INTEGER__desc
void * modelica_metatype
struct record_description NFExpression_REAL__desc
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_applyIndexSubscriptTypename()

DLLExport modelica_metatype omc_NFExpression_applyIndexSubscriptTypename ( threadData_t threadData,
modelica_metatype  _ty,
modelica_metatype  _index 
)

Definition at line 16964 of file NFExpression.c.

16965 {
16966  modelica_metatype _subscriptedExp = NULL;
16967  modelica_metatype _idx_exp = NULL;
16968  modelica_integer _idx;
16969  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
16970  MMC_SO();
16971  _tailrecursive: OMC_LABEL_UNUSED
16972 #line 1037 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16973  _idx_exp = omc_NFSubscript_toExp(threadData, _index);
16974 #line 16974 OMC_FILE
16975 
16976 #line 1039 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16977  if(omc_NFExpression_isScalarLiteral(threadData, _idx_exp))
16978 #line 1039 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16979  {
16980 #line 1040 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16981  _idx = omc_NFExpression_toInteger(threadData, _idx_exp);
16982 #line 16982 OMC_FILE
16983 
16984 #line 16984 OMC_FILE
16985  { /* match expression */
16986  modelica_metatype tmp3_1;
16987  tmp3_1 = _ty;
16988  {
16989  volatile mmc_switch_type tmp3;
16990  int tmp4;
16991  tmp3 = 0;
16992  for (; tmp3 < 2; tmp3++) {
16993  switch (MMC_SWITCH_CAST(tmp3)) {
16994  case 0: {
16995  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,3,0) == 0) goto tmp2_end;
16996  /* Pattern matching succeeded */
16997  /* Check guard condition after assignments */
16998  if (!((modelica_integer)_idx <= ((modelica_integer) 2))) goto tmp2_end;
16999 #line 1044 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17000  tmpMeta[0] = (((modelica_integer)_idx == ((modelica_integer) 1))?_OMC_LIT36:_OMC_LIT37);
17001 #line 17001 OMC_FILE
17002  goto tmp2_done;
17003  }
17004  case 1: {
17005  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,5,2) == 0) goto tmp2_end;
17006 
17007  /* Pattern matching succeeded */
17008 #line 1047 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17009  tmpMeta[1] = mmc_mk_box4(7, &NFExpression_ENUM__LITERAL__desc, _ty, omc_NFType_nthEnumLiteral(threadData, _ty, (modelica_integer)_idx), mmc_mk_integer((modelica_integer)_idx));
17010 #line 1047 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17011  tmpMeta[0] = tmpMeta[1];
17012 #line 17012 OMC_FILE
17013  goto tmp2_done;
17014  }
17015  }
17016  goto tmp2_end;
17017  tmp2_end: ;
17018  }
17019  goto goto_1;
17020  goto_1:;
17021  MMC_THROW_INTERNAL();
17022  goto tmp2_done;
17023  tmp2_done:;
17024  }
17025  }
17026  _subscriptedExp = tmpMeta[0];
17027  }
17028  else
17029  {
17030 #line 1050 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17031  tmpMeta[0] = mmc_mk_box2(9, &NFExpression_TYPENAME__desc, _ty);
17032 #line 1050 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17033  tmpMeta[1] = mmc_mk_cons(_index, MMC_REFSTRUCTLIT(mmc_nil));
17034 #line 1050 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17035  tmpMeta[2] = mmc_mk_box4(26, &NFExpression_SUBSCRIPTED__EXP__desc, tmpMeta[0], tmpMeta[1], _ty);
17036 #line 1050 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17037  _subscriptedExp = tmpMeta[2];
17038 #line 17038 OMC_FILE
17039  }
17040  _return: OMC_LABEL_UNUSED
17041  return _subscriptedExp;
17042 }
struct record_description NFExpression_SUBSCRIPTED__EXP__desc
m_integer modelica_integer
float mmc_switch_type
struct record_description NFExpression_ENUM__LITERAL__desc
DLLExport modelica_string omc_NFType_nthEnumLiteral(threadData_t *threadData, modelica_metatype _ty, modelica_integer _index)
Definition: NFType.c:1413
struct record_description NFExpression_TYPENAME__desc
DLLExport modelica_integer omc_NFExpression_toInteger(threadData_t *threadData, modelica_metatype _exp)
void * modelica_metatype
DLLExport modelica_boolean omc_NFExpression_isScalarLiteral(threadData_t *threadData, modelica_metatype _exp)
DLLExport modelica_metatype omc_NFSubscript_toExp(threadData_t *threadData, modelica_metatype _subscript)
Definition: NFSubscript.c:2994
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_applyList()

DLLExport void omc_NFExpression_applyList ( threadData_t threadData,
modelica_metatype  _expl,
modelica_fnptr  _func 
)

Definition at line 8651 of file NFExpression.c.

8652 {
8653  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
8654  MMC_SO();
8655  _tailrecursive: OMC_LABEL_UNUSED
8656 #line 2665 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8657  {
8658 #line 2665 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8659  modelica_metatype _e;
8660 #line 2665 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8661  for (tmpMeta[0] = _expl; !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
8662 #line 2665 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8663  {
8664 #line 2665 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8665  _e = MMC_CAR(tmpMeta[0]);
8666 #line 2666 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8667  omc_NFExpression_apply(threadData, _e, ((modelica_fnptr) _func));
8668 #line 8668 OMC_FILE
8669  }
8670  }
8671  _return: OMC_LABEL_UNUSED
8672  return;
8673 }
void * modelica_fnptr
DLLExport void omc_NFExpression_apply(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_applySubscript()

DLLExport modelica_metatype omc_NFExpression_applySubscript ( threadData_t threadData,
modelica_metatype  _subscript,
modelica_metatype  _exp,
modelica_metatype  _restSubscripts 
)

Definition at line 17220 of file NFExpression.c.

17221 {
17222  modelica_metatype _outExp = NULL;
17223  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
17224  MMC_SO();
17225  _tailrecursive: OMC_LABEL_UNUSED
17226 #line 17226 OMC_FILE
17227  { /* match expression */
17228  modelica_metatype tmp3_1;
17229  tmp3_1 = _exp;
17230  {
17231  volatile mmc_switch_type tmp3;
17232  int tmp4;
17233  tmp3 = 0;
17234  for (; tmp3 < 8; tmp3++) {
17235  switch (MMC_SWITCH_CAST(tmp3)) {
17236  case 0: {
17237  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,5,2) == 0) goto tmp2_end;
17238 
17239  /* Pattern matching succeeded */
17240 #line 964 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17241  tmpMeta[0] = omc_NFExpression_applySubscriptCref(threadData, _subscript, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _restSubscripts);
17242 #line 17242 OMC_FILE
17243  goto tmp2_done;
17244  }
17245  case 1: {
17246  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,6,1) == 0) goto tmp2_end;
17247 
17248  /* Pattern matching succeeded */
17249  /* Check guard condition after assignments */
17250  if (!listEmpty(_restSubscripts)) goto tmp2_end;
17251 #line 967 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17252  tmpMeta[0] = omc_NFExpression_applySubscriptTypename(threadData, _subscript, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
17253 #line 17253 OMC_FILE
17254  goto tmp2_done;
17255  }
17256  case 2: {
17257  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,7,3) == 0) goto tmp2_end;
17258 
17259  /* Pattern matching succeeded */
17260 #line 969 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17261  tmpMeta[0] = omc_NFExpression_applySubscriptArray(threadData, _subscript, _exp, _restSubscripts);
17262 #line 17262 OMC_FILE
17263  goto tmp2_done;
17264  }
17265  case 3: {
17266  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,9,4) == 0) goto tmp2_end;
17267 
17268  /* Pattern matching succeeded */
17269  /* Check guard condition after assignments */
17270  if (!listEmpty(_restSubscripts)) goto tmp2_end;
17271 #line 972 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17272  tmpMeta[0] = omc_NFExpression_applySubscriptRange(threadData, _subscript, _exp);
17273 #line 17273 OMC_FILE
17274  goto tmp2_done;
17275  }
17276  case 4: {
17277  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,12,1) == 0) goto tmp2_end;
17278  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
17279  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],4,4) == 0) goto tmp2_end;
17280 
17281  /* Pattern matching succeeded */
17282 #line 975 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17283  tmpMeta[0] = omc_NFExpression_applySubscriptArrayConstructor(threadData, _subscript, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _restSubscripts);
17284 #line 17284 OMC_FILE
17285  goto tmp2_done;
17286  }
17287  case 5: {
17288  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,12,1) == 0) goto tmp2_end;
17289 
17290  /* Pattern matching succeeded */
17291 #line 978 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17292  tmpMeta[0] = omc_NFExpression_applySubscriptCall(threadData, _subscript, _exp, _restSubscripts);
17293 #line 17293 OMC_FILE
17294  goto tmp2_done;
17295  }
17296  case 6: {
17297  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,20,3) == 0) goto tmp2_end;
17298 
17299  /* Pattern matching succeeded */
17300 #line 980 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17301  tmpMeta[0] = omc_NFExpression_applySubscriptIf(threadData, _subscript, _exp, _restSubscripts);
17302 #line 17302 OMC_FILE
17303  goto tmp2_done;
17304  }
17305  case 7: {
17306 
17307  /* Pattern matching succeeded */
17308 #line 982 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17309  tmpMeta[1] = mmc_mk_cons(_subscript, _restSubscripts);
17310 #line 982 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17311  tmpMeta[0] = omc_NFExpression_makeSubscriptedExp(threadData, tmpMeta[1], _exp);
17312 #line 17312 OMC_FILE
17313  goto tmp2_done;
17314  }
17315  }
17316  goto tmp2_end;
17317  tmp2_end: ;
17318  }
17319  goto goto_1;
17320  goto_1:;
17321  MMC_THROW_INTERNAL();
17322  goto tmp2_done;
17323  tmp2_done:;
17324  }
17325  }
17326  _outExp = tmpMeta[0];
17327  _return: OMC_LABEL_UNUSED
17328  return _outExp;
17329 }
DLLExport modelica_metatype omc_NFExpression_applySubscriptCref(threadData_t *threadData, modelica_metatype _subscript, modelica_metatype _cref, modelica_metatype _restSubscripts)
DLLExport modelica_metatype omc_NFExpression_applySubscriptArray(threadData_t *threadData, modelica_metatype _subscript, modelica_metatype _exp, modelica_metatype _restSubscripts)
DLLExport modelica_metatype omc_NFExpression_applySubscriptCall(threadData_t *threadData, modelica_metatype _subscript, modelica_metatype _exp, modelica_metatype _restSubscripts)
DLLExport modelica_metatype omc_NFExpression_applySubscriptTypename(threadData_t *threadData, modelica_metatype _subscript, modelica_metatype _ty)
float mmc_switch_type
DLLExport modelica_metatype omc_NFExpression_applySubscriptIf(threadData_t *threadData, modelica_metatype _subscript, modelica_metatype _exp, modelica_metatype _restSubscripts)
DLLExport modelica_metatype omc_NFExpression_applySubscriptRange(threadData_t *threadData, modelica_metatype _subscript, modelica_metatype _exp)
void * modelica_metatype
DLLExport modelica_metatype omc_NFExpression_applySubscriptArrayConstructor(threadData_t *threadData, modelica_metatype _subscript, modelica_metatype _call, modelica_metatype _restSubscripts)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
DLLExport modelica_metatype omc_NFExpression_makeSubscriptedExp(threadData_t *threadData, modelica_metatype _subscripts, modelica_metatype _exp)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_applySubscriptArray()

DLLExport modelica_metatype omc_NFExpression_applySubscriptArray ( threadData_t threadData,
modelica_metatype  _subscript,
modelica_metatype  _exp,
modelica_metatype  _restSubscripts 
)

Definition at line 16665 of file NFExpression.c.

16666 {
16667  modelica_metatype _outExp = NULL;
16668  modelica_metatype _sub = NULL;
16669  modelica_metatype _s = NULL;
16670  modelica_metatype _rest_subs = NULL;
16671  modelica_metatype _expl = NULL;
16672  modelica_metatype _ty = NULL;
16673  modelica_integer _el_count;
16674  modelica_boolean _literal;
16675  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
16676  MMC_SO();
16677  _tailrecursive: OMC_LABEL_UNUSED
16678 #line 1067 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16679  _sub = omc_NFSubscript_expandSlice(threadData, _subscript, NULL);
16680 #line 16680 OMC_FILE
16681 
16682 #line 16682 OMC_FILE
16683  { /* match expression */
16684  modelica_metatype tmp3_1;
16685  tmp3_1 = _sub;
16686  {
16687  int tmp3;
16688  {
16689  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
16690  case 5: {
16691 
16692  /* Pattern matching succeeded */
16693 #line 1070 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16694  tmpMeta[0] = omc_NFExpression_applyIndexSubscriptArray(threadData, _exp, _sub, _restSubscripts);
16695 #line 16695 OMC_FILE
16696  goto tmp2_done;
16697  }
16698  case 6: {
16699 
16700  /* Pattern matching succeeded */
16701 #line 1071 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16702  tmpMeta[1] = mmc_mk_cons(_subscript, _restSubscripts);
16703 #line 1071 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16704  tmpMeta[0] = omc_NFExpression_makeSubscriptedExp(threadData, tmpMeta[1], _exp);
16705 #line 16705 OMC_FILE
16706  goto tmp2_done;
16707  }
16708  case 8: {
16709  modelica_integer tmp4;
16710 
16711  /* Pattern matching succeeded */
16712 #line 1074 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16713  if(listEmpty(_restSubscripts))
16714 #line 1074 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16715  {
16716 #line 1075 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16717  _outExp = _exp;
16718 #line 16718 OMC_FILE
16719  }
16720  else
16721  {
16722 #line 1077 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16723  /* Pattern-matching assignment */
16724 #line 1077 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16725  tmpMeta[1] = _exp;
16726 #line 1077 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16727  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],7,3) == 0) goto goto_1;
16728 #line 1077 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16729  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16730 #line 1077 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16731  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
16732 #line 1077 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16733  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
16734 #line 1077 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16735  tmp4 = mmc_unbox_integer(tmpMeta[4]);
16736 #line 1077 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16737  _ty = tmpMeta[2];
16738 #line 1077 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16739  _expl = tmpMeta[3];
16740 #line 1077 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16741  _literal = tmp4 /* pattern as ty=Boolean */;
16742 #line 16742 OMC_FILE
16743 
16744 #line 1078 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16745  /* Pattern-matching assignment */
16746 #line 1078 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16747  tmpMeta[1] = _restSubscripts;
16748 #line 1078 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16749  if (listEmpty(tmpMeta[1])) goto goto_1;
16750 #line 1078 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16751  tmpMeta[2] = MMC_CAR(tmpMeta[1]);
16752 #line 1078 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16753  tmpMeta[3] = MMC_CDR(tmpMeta[1]);
16754 #line 1078 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16755  _s = tmpMeta[2];
16756 #line 1078 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16757  _rest_subs = tmpMeta[3];
16758 #line 16758 OMC_FILE
16759 
16760 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16761  {
16762 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16763  modelica_metatype _$tmpVar85;
16764 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16765  modelica_metatype* tmp5;
16766 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16767  modelica_metatype _$tmpVar84;
16768 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16769  int tmp6;
16770 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16771  modelica_metatype e_loopVar = 0;
16772 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16773  modelica_metatype _e;
16774 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16775  e_loopVar = _expl;
16776 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16777  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
16778 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16779  _$tmpVar85 = tmpMeta[2]; /* defaultValue */
16780 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16781  tmp5 = &_$tmpVar85;
16782 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16783  while(1) {
16784 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16785  tmp6 = 1;
16786 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16787  if (!listEmpty(e_loopVar)) {
16788 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16789  _e = MMC_CAR(e_loopVar);
16790 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16791  e_loopVar = MMC_CDR(e_loopVar);
16792 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16793  tmp6--;
16794 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16795  }
16796 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16797  if (tmp6 == 0) {
16798 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16799  _$tmpVar84 = omc_NFExpression_applySubscript(threadData, _s, _e, _rest_subs);
16800 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16801  *tmp5 = mmc_mk_cons(_$tmpVar84,0);
16802 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16803  tmp5 = &MMC_CDR(*tmp5);
16804 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16805  } else if (tmp6 == 1) {
16806 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16807  break;
16808 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16809  } else {
16810 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16811  goto goto_1;
16812 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16813  }
16814 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16815  }
16816 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16817  *tmp5 = mmc_mk_nil();
16818 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16819  tmpMeta[1] = _$tmpVar85;
16820 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16821  }
16822 #line 1079 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16823  _expl = tmpMeta[1];
16824 #line 16824 OMC_FILE
16825 
16826 #line 1081 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16827  _el_count = listLength(_expl);
16828 #line 16828 OMC_FILE
16829 
16830 #line 1082 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16831  _ty = (((modelica_integer)_el_count > ((modelica_integer) 0))?omc_NFExpression_typeOf(threadData, listHead(_expl)):omc_NFType_subscript(threadData, _ty, _restSubscripts));
16832 #line 16832 OMC_FILE
16833 
16834 #line 1084 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16835  _ty = omc_NFType_liftArrayLeft(threadData, _ty, omc_NFDimension_fromInteger(threadData, (modelica_integer)_el_count, 1));
16836 #line 16836 OMC_FILE
16837 
16838 #line 1085 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16839  _outExp = omc_NFExpression_makeArray(threadData, _ty, _expl, _literal);
16840 #line 16840 OMC_FILE
16841  }
16842 #line 1087 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16843  tmpMeta[0] = _outExp;
16844 #line 16844 OMC_FILE
16845  goto tmp2_done;
16846  }
16847  case 7: {
16848  modelica_integer tmp7;
16849 
16850  /* Pattern matching succeeded */
16851 #line 1092 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16852  /* Pattern-matching assignment */
16853 #line 1092 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16854  tmpMeta[1] = _exp;
16855 #line 1092 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16856  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],7,3) == 0) goto goto_1;
16857 #line 1092 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16858  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 4));
16859 #line 1092 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16860  tmp7 = mmc_unbox_integer(tmpMeta[2]);
16861 #line 1092 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16862  _literal = tmp7 /* pattern as ty=Boolean */;
16863 #line 16863 OMC_FILE
16864 
16865 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16866  {
16867 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16868  modelica_metatype _$tmpVar87;
16869 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16870  modelica_metatype* tmp8;
16871 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16872  modelica_metatype _$tmpVar86;
16873 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16874  int tmp9;
16875 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16876  modelica_metatype i_loopVar = 0;
16877 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16878  modelica_metatype _i;
16879 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16880  i_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_sub), 2)));
16881 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16882  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
16883 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16884  _$tmpVar87 = tmpMeta[2]; /* defaultValue */
16885 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16886  tmp8 = &_$tmpVar87;
16887 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16888  while(1) {
16889 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16890  tmp9 = 1;
16891 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16892  if (!listEmpty(i_loopVar)) {
16893 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16894  _i = MMC_CAR(i_loopVar);
16895 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16896  i_loopVar = MMC_CDR(i_loopVar);
16897 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16898  tmp9--;
16899 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16900  }
16901 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16902  if (tmp9 == 0) {
16903 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16904  _$tmpVar86 = omc_NFExpression_applyIndexSubscriptArray(threadData, _exp, _i, _restSubscripts);
16905 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16906  *tmp8 = mmc_mk_cons(_$tmpVar86,0);
16907 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16908  tmp8 = &MMC_CDR(*tmp8);
16909 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16910  } else if (tmp9 == 1) {
16911 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16912  break;
16913 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16914  } else {
16915 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16916  goto goto_1;
16917 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16918  }
16919 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16920  }
16921 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16922  *tmp8 = mmc_mk_nil();
16923 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16924  tmpMeta[1] = _$tmpVar87;
16925 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16926  }
16927 #line 1093 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16928  _expl = tmpMeta[1];
16929 #line 16929 OMC_FILE
16930 
16931 #line 1095 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16932  _el_count = listLength(_expl);
16933 #line 16933 OMC_FILE
16934 
16935 #line 1096 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16936  _ty = (((modelica_integer)_el_count > ((modelica_integer) 0))?omc_NFExpression_typeOf(threadData, listHead(_expl)):omc_NFType_subscript(threadData, omc_NFExpression_typeOf(threadData, _exp), _restSubscripts));
16937 #line 16937 OMC_FILE
16938 
16939 #line 1098 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16940  _ty = omc_NFType_liftArrayLeft(threadData, _ty, omc_NFDimension_fromInteger(threadData, (modelica_integer)_el_count, 1));
16941 #line 16941 OMC_FILE
16942 #line 1099 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16943  tmpMeta[0] = omc_NFExpression_makeArray(threadData, _ty, _expl, _literal);
16944 #line 16944 OMC_FILE
16945  goto tmp2_done;
16946  }
16947  }
16948  goto tmp2_end;
16949  tmp2_end: ;
16950  }
16951  goto goto_1;
16952  goto_1:;
16953  MMC_THROW_INTERNAL();
16954  goto tmp2_done;
16955  tmp2_done:;
16956  }
16957  }
16958  _outExp = tmpMeta[0];
16959  _return: OMC_LABEL_UNUSED
16960  return _outExp;
16961 }
DLLExport modelica_metatype omc_NFExpression_applyIndexSubscriptArray(threadData_t *threadData, modelica_metatype _exp, modelica_metatype _index, modelica_metatype _restSubscripts)
DLLExport modelica_metatype omc_NFSubscript_expandSlice(threadData_t *threadData, modelica_metatype _subscript, modelica_boolean *out_expanded)
Definition: NFSubscript.c:546
m_integer modelica_integer
DLLExport modelica_metatype omc_NFExpression_typeOf(threadData_t *threadData, modelica_metatype _exp)
signed char modelica_boolean
DLLExport modelica_metatype omc_NFDimension_fromInteger(threadData_t *threadData, modelica_integer _n, modelica_integer _var)
Definition: NFDimension.c:1295
DLLExport modelica_metatype omc_NFType_subscript(threadData_t *threadData, modelica_metatype _ $in_ty, modelica_metatype _subs)
Definition: NFType.c:680
DLLExport modelica_metatype omc_NFExpression_makeArray(threadData_t *threadData, modelica_metatype _ty, modelica_metatype _expl, modelica_boolean _literal)
void * modelica_metatype
modelica_integer listLength(modelica_metatype)
DLLExport modelica_metatype omc_NFExpression_applySubscript(threadData_t *threadData, modelica_metatype _subscript, modelica_metatype _exp, modelica_metatype _restSubscripts)
DLLExport modelica_metatype omc_NFType_liftArrayLeft(threadData_t *threadData, modelica_metatype _ $in_ty, modelica_metatype _dim)
Definition: NFType.c:4095
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
DLLExport modelica_metatype omc_NFExpression_makeSubscriptedExp(threadData_t *threadData, modelica_metatype _subscripts, modelica_metatype _exp)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_applySubscriptArrayConstructor()

DLLExport modelica_metatype omc_NFExpression_applySubscriptArrayConstructor ( threadData_t threadData,
modelica_metatype  _subscript,
modelica_metatype  _call,
modelica_metatype  _restSubscripts 
)

Definition at line 16118 of file NFExpression.c.

16119 {
16120  modelica_metatype _outExp = NULL;
16121  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
16122  MMC_SO();
16123  _tailrecursive: OMC_LABEL_UNUSED
16124 #line 1247 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16125  if((omc_NFSubscript_isIndex(threadData, _subscript) && listEmpty(_restSubscripts)))
16126 #line 1247 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16127  {
16128 #line 1248 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16129  _outExp = omc_NFExpression_applyIndexSubscriptArrayConstructor(threadData, _call, _subscript);
16130 #line 16130 OMC_FILE
16131  }
16132  else
16133  {
16134 #line 1251 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16135  tmpMeta[0] = mmc_mk_cons(_subscript, _restSubscripts);
16136 #line 1251 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16137  tmpMeta[1] = mmc_mk_box2(15, &NFExpression_CALL__desc, _call);
16138 #line 1251 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16139  _outExp = omc_NFExpression_makeSubscriptedExp(threadData, tmpMeta[0], tmpMeta[1]);
16140 #line 16140 OMC_FILE
16141  }
16142  _return: OMC_LABEL_UNUSED
16143  return _outExp;
16144 }
struct record_description NFExpression_CALL__desc
DLLExport modelica_boolean omc_NFSubscript_isIndex(threadData_t *threadData, modelica_metatype _sub)
Definition: NFSubscript.c:2832
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
DLLExport modelica_metatype omc_NFExpression_makeSubscriptedExp(threadData_t *threadData, modelica_metatype _subscripts, modelica_metatype _exp)
DLLExport modelica_metatype omc_NFExpression_applyIndexSubscriptArrayConstructor(threadData_t *threadData, modelica_metatype _call, modelica_metatype _index)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_applySubscriptCall()

DLLExport modelica_metatype omc_NFExpression_applySubscriptCall ( threadData_t threadData,
modelica_metatype  _subscript,
modelica_metatype  _exp,
modelica_metatype  _restSubscripts 
)

Definition at line 16147 of file NFExpression.c.

16148 {
16149  modelica_metatype _outExp = NULL;
16150  modelica_metatype _call = NULL;
16151  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
16152  MMC_SO();
16153  _tailrecursive: OMC_LABEL_UNUSED
16154 #line 1219 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16155  /* Pattern-matching assignment */
16156 #line 1219 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16157  tmpMeta[0] = _exp;
16158 #line 1219 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16159  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],12,1) == 0) MMC_THROW_INTERNAL();
16160 #line 1219 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16161  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
16162 #line 1219 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16163  _call = tmpMeta[1];
16164 #line 16164 OMC_FILE
16165 
16166 #line 16166 OMC_FILE
16167  { /* match expression */
16168  modelica_metatype tmp3_1;
16169  tmp3_1 = _call;
16170  {
16171  modelica_metatype _arg = NULL;
16172  modelica_metatype _ty = NULL;
16173  volatile mmc_switch_type tmp3;
16174  int tmp4;
16175  tmp3 = 0;
16176  for (; tmp3 < 3; tmp3++) {
16177  switch (MMC_SWITCH_CAST(tmp3)) {
16178  case 0: {
16179  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,2,5) == 0) goto tmp2_end;
16180  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
16181  if (listEmpty(tmpMeta[1])) goto tmp2_end;
16182  tmpMeta[2] = MMC_CAR(tmpMeta[1]);
16183  tmpMeta[3] = MMC_CDR(tmpMeta[1]);
16184  if (!listEmpty(tmpMeta[3])) goto tmp2_end;
16185 
16186  _arg = tmpMeta[2];
16187  /* Pattern matching succeeded */
16188  /* Check guard condition after assignments */
16189  if (!omc_NFFunction_Function_isSubscriptableBuiltin(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))))) goto tmp2_end;
16190 #line 1229 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16191  _arg = omc_NFExpression_applySubscript(threadData, _subscript, _arg, _restSubscripts);
16192 #line 16192 OMC_FILE
16193 
16194 #line 1230 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16195  _ty = omc_NFType_copyDims(threadData, omc_NFExpression_typeOf(threadData, _arg), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))));
16196 #line 16196 OMC_FILE
16197 #line 1231 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16198  tmpMeta[1] = mmc_mk_cons(_arg, MMC_REFSTRUCTLIT(mmc_nil));
16199 #line 1231 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16200  tmpMeta[2] = mmc_mk_box6(5, &NFCall_Call_TYPED__CALL__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), _ty, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))), tmpMeta[1], (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 6))));
16201 #line 1231 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16202  tmpMeta[3] = mmc_mk_box2(15, &NFExpression_CALL__desc, tmpMeta[2]);
16203 #line 1231 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16204  tmpMeta[0] = tmpMeta[3];
16205 #line 16205 OMC_FILE
16206  goto tmp2_done;
16207  }
16208  case 1: {
16209  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,4,4) == 0) goto tmp2_end;
16210 
16211  /* Pattern matching succeeded */
16212 #line 1235 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16213  tmpMeta[0] = omc_NFExpression_applySubscriptArrayConstructor(threadData, _subscript, _call, _restSubscripts);
16214 #line 16214 OMC_FILE
16215  goto tmp2_done;
16216  }
16217  case 2: {
16218 
16219  /* Pattern matching succeeded */
16220 #line 1237 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16221  tmpMeta[1] = mmc_mk_cons(_subscript, _restSubscripts);
16222 #line 1237 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16223  tmpMeta[0] = omc_NFExpression_makeSubscriptedExp(threadData, tmpMeta[1], _exp);
16224 #line 16224 OMC_FILE
16225  goto tmp2_done;
16226  }
16227  }
16228  goto tmp2_end;
16229  tmp2_end: ;
16230  }
16231  goto goto_1;
16232  goto_1:;
16233  MMC_THROW_INTERNAL();
16234  goto tmp2_done;
16235  tmp2_done:;
16236  }
16237  }
16238  _outExp = tmpMeta[0];
16239  _return: OMC_LABEL_UNUSED
16240  return _outExp;
16241 }
struct record_description NFExpression_CALL__desc
DLLExport modelica_metatype omc_NFExpression_typeOf(threadData_t *threadData, modelica_metatype _exp)
DLLExport modelica_boolean omc_NFFunction_Function_isSubscriptableBuiltin(threadData_t *threadData, modelica_metatype _fn)
Definition: NFFunction.c:2656
float mmc_switch_type
DLLExport modelica_metatype omc_NFType_copyDims(threadData_t *threadData, modelica_metatype _srcType, modelica_metatype _dstType)
Definition: NFType.c:1976
struct record_description NFCall_Call_TYPED__CALL__desc
void * modelica_metatype
DLLExport modelica_metatype omc_NFExpression_applySubscript(threadData_t *threadData, modelica_metatype _subscript, modelica_metatype _exp, modelica_metatype _restSubscripts)
DLLExport modelica_metatype omc_NFExpression_applySubscriptArrayConstructor(threadData_t *threadData, modelica_metatype _subscript, modelica_metatype _call, modelica_metatype _restSubscripts)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
DLLExport modelica_metatype omc_NFExpression_makeSubscriptedExp(threadData_t *threadData, modelica_metatype _subscripts, modelica_metatype _exp)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_applySubscriptCref()

DLLExport modelica_metatype omc_NFExpression_applySubscriptCref ( threadData_t threadData,
modelica_metatype  _subscript,
modelica_metatype  _cref,
modelica_metatype  _restSubscripts 
)

Definition at line 17192 of file NFExpression.c.

17193 {
17194  modelica_metatype _outExp = NULL;
17195  modelica_metatype _cr = NULL;
17196  modelica_metatype _ty = NULL;
17197  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
17198  MMC_SO();
17199  _tailrecursive: OMC_LABEL_UNUSED
17200 #line 995 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17201  tmpMeta[0] = mmc_mk_cons(_subscript, _restSubscripts);
17202 #line 995 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17203  _cr = omc_NFComponentRef_applySubscripts(threadData, tmpMeta[0], _cref);
17204 #line 17204 OMC_FILE
17205 
17206 #line 996 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17207  _ty = omc_NFComponentRef_getSubscriptedType(threadData, _cr);
17208 #line 17208 OMC_FILE
17209 
17210 #line 997 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17211  tmpMeta[0] = mmc_mk_box3(8, &NFExpression_CREF__desc, _ty, _cr);
17212 #line 997 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17213  _outExp = tmpMeta[0];
17214 #line 17214 OMC_FILE
17215  _return: OMC_LABEL_UNUSED
17216  return _outExp;
17217 }
DLLExport modelica_metatype omc_NFComponentRef_getSubscriptedType(threadData_t *threadData, modelica_metatype _cref)
void * modelica_metatype
DLLExport modelica_metatype omc_NFComponentRef_applySubscripts(threadData_t *threadData, modelica_metatype _subscripts, modelica_metatype _ $in_cref)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
struct record_description NFExpression_CREF__desc
Here is the caller graph for this function:

◆ omc_NFExpression_applySubscriptIf()

DLLExport modelica_metatype omc_NFExpression_applySubscriptIf ( threadData_t threadData,
modelica_metatype  _subscript,
modelica_metatype  _exp,
modelica_metatype  _restSubscripts 
)

Definition at line 15989 of file NFExpression.c.

15990 {
15991  modelica_metatype _outExp = NULL;
15992  modelica_metatype _cond = NULL;
15993  modelica_metatype _tb = NULL;
15994  modelica_metatype _fb = NULL;
15995  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
15996  MMC_SO();
15997  _tailrecursive: OMC_LABEL_UNUSED
15998 #line 1284 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15999  /* Pattern-matching assignment */
16000 #line 1284 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16001  tmpMeta[0] = _exp;
16002 #line 1284 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16003  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],20,3) == 0) MMC_THROW_INTERNAL();
16004 #line 1284 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16005  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
16006 #line 1284 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16007  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
16008 #line 1284 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16009  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4));
16010 #line 1284 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16011  _cond = tmpMeta[1];
16012 #line 1284 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16013  _tb = tmpMeta[2];
16014 #line 1284 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16015  _fb = tmpMeta[3];
16016 #line 16016 OMC_FILE
16017 
16018 #line 1285 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16019  _tb = omc_NFExpression_applySubscript(threadData, _subscript, _tb, _restSubscripts);
16020 #line 16020 OMC_FILE
16021 
16022 #line 1286 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16023  _fb = omc_NFExpression_applySubscript(threadData, _subscript, _fb, _restSubscripts);
16024 #line 16024 OMC_FILE
16025 
16026 #line 1287 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16027  tmpMeta[0] = mmc_mk_box4(23, &NFExpression_IF__desc, _cond, _tb, _fb);
16028 #line 1287 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16029  _outExp = tmpMeta[0];
16030 #line 16030 OMC_FILE
16031  _return: OMC_LABEL_UNUSED
16032  return _outExp;
16033 }
struct record_description NFExpression_IF__desc
void * modelica_metatype
DLLExport modelica_metatype omc_NFExpression_applySubscript(threadData_t *threadData, modelica_metatype _subscript, modelica_metatype _exp, modelica_metatype _restSubscripts)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_applySubscriptRange()

DLLExport modelica_metatype omc_NFExpression_applySubscriptRange ( threadData_t threadData,
modelica_metatype  _subscript,
modelica_metatype  _exp 
)

Definition at line 16450 of file NFExpression.c.

16451 {
16452  modelica_metatype _outExp = NULL;
16453  modelica_metatype _sub = NULL;
16454  modelica_metatype _start_exp = NULL;
16455  modelica_metatype _stop_exp = NULL;
16456  modelica_metatype _step_exp = NULL;
16457  modelica_metatype _ty = NULL;
16458  modelica_metatype _expl = NULL;
16459  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
16460  MMC_SO();
16461  _tailrecursive: OMC_LABEL_UNUSED
16462 #line 1132 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16463  _sub = omc_NFSubscript_expandSlice(threadData, _subscript, NULL);
16464 #line 16464 OMC_FILE
16465 
16466 #line 16466 OMC_FILE
16467  { /* match expression */
16468  modelica_metatype tmp3_1;
16469  tmp3_1 = _sub;
16470  {
16471  int tmp3;
16472  {
16473  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
16474  case 5: {
16475 
16476  /* Pattern matching succeeded */
16477 #line 1135 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16478  tmpMeta[0] = omc_NFExpression_applyIndexSubscriptRange(threadData, _exp, _sub);
16479 #line 16479 OMC_FILE
16480  goto tmp2_done;
16481  }
16482  case 6: {
16483 
16484  /* Pattern matching succeeded */
16485 #line 1139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16486  /* Pattern-matching assignment */
16487 #line 1139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16488  tmpMeta[1] = _exp;
16489 #line 1139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16490  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],9,4) == 0) goto goto_1;
16491 #line 1139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16492  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16493 #line 1139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16494  _ty = tmpMeta[2];
16495 #line 16495 OMC_FILE
16496 
16497 #line 1140 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16498  tmpMeta[1] = mmc_mk_cons(omc_NFSubscript_toDimension(threadData, _sub), MMC_REFSTRUCTLIT(mmc_nil));
16499 #line 1140 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16500  tmpMeta[2] = mmc_mk_box3(10, &NFType_ARRAY__desc, omc_NFType_unliftArray(threadData, _ty), tmpMeta[1]);
16501 #line 1140 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16502  _ty = tmpMeta[2];
16503 #line 16503 OMC_FILE
16504 #line 1141 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16505  tmpMeta[1] = mmc_mk_cons(_subscript, MMC_REFSTRUCTLIT(mmc_nil));
16506 #line 1141 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16507  tmpMeta[2] = mmc_mk_box4(26, &NFExpression_SUBSCRIPTED__EXP__desc, _exp, tmpMeta[1], _ty);
16508 #line 1141 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16509  tmpMeta[0] = tmpMeta[2];
16510 #line 16510 OMC_FILE
16511  goto tmp2_done;
16512  }
16513  case 8: {
16514 
16515  /* Pattern matching succeeded */
16516 #line 1144 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16517  tmpMeta[0] = _exp;
16518 #line 16518 OMC_FILE
16519  goto tmp2_done;
16520  }
16521  case 7: {
16522 
16523  /* Pattern matching succeeded */
16524 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16525  {
16526 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16527  modelica_metatype _$tmpVar83;
16528 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16529  modelica_metatype* tmp4;
16530 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16531  modelica_metatype _$tmpVar82;
16532 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16533  int tmp5;
16534 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16535  modelica_metatype i_loopVar = 0;
16536 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16537  modelica_metatype _i;
16538 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16539  i_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_sub), 2)));
16540 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16541  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
16542 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16543  _$tmpVar83 = tmpMeta[2]; /* defaultValue */
16544 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16545  tmp4 = &_$tmpVar83;
16546 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16547  while(1) {
16548 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16549  tmp5 = 1;
16550 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16551  if (!listEmpty(i_loopVar)) {
16552 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16553  _i = MMC_CAR(i_loopVar);
16554 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16555  i_loopVar = MMC_CDR(i_loopVar);
16556 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16557  tmp5--;
16558 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16559  }
16560 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16561  if (tmp5 == 0) {
16562 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16563  _$tmpVar82 = omc_NFExpression_applyIndexSubscriptRange(threadData, _exp, _i);
16564 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16565  *tmp4 = mmc_mk_cons(_$tmpVar82,0);
16566 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16567  tmp4 = &MMC_CDR(*tmp4);
16568 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16569  } else if (tmp5 == 1) {
16570 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16571  break;
16572 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16573  } else {
16574 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16575  goto goto_1;
16576 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16577  }
16578 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16579  }
16580 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16581  *tmp4 = mmc_mk_nil();
16582 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16583  tmpMeta[1] = _$tmpVar83;
16584 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16585  }
16586 #line 1148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16587  _expl = tmpMeta[1];
16588 #line 16588 OMC_FILE
16589 
16590 #line 1149 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16591  /* Pattern-matching assignment */
16592 #line 1149 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16593  tmpMeta[1] = _exp;
16594 #line 1149 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16595  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],9,4) == 0) goto goto_1;
16596 #line 1149 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16597  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
16598 #line 1149 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16599  _ty = tmpMeta[2];
16600 #line 16600 OMC_FILE
16601 #line 1150 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
16602  tmpMeta[0] = omc_NFExpression_makeArray(threadData, omc_NFType_liftArrayLeft(threadData, _ty, omc_NFDimension_fromInteger(threadData, listLength(_expl), 1)), _expl, 0);
16603 #line 16603 OMC_FILE
16604  goto tmp2_done;
16605  }
16606  }
16607  goto tmp2_end;
16608  tmp2_end: ;
16609  }
16610  goto goto_1;
16611  goto_1:;
16612  MMC_THROW_INTERNAL();
16613  goto tmp2_done;
16614  tmp2_done:;
16615  }
16616  }
16617  _outExp = tmpMeta[0];
16618  _return: OMC_LABEL_UNUSED
16619  return _outExp;
16620 }
DLLExport modelica_metatype omc_NFSubscript_expandSlice(threadData_t *threadData, modelica_metatype _subscript, modelica_boolean *out_expanded)
Definition: NFSubscript.c:546
struct record_description NFExpression_SUBSCRIPTED__EXP__desc
DLLExport modelica_metatype omc_NFDimension_fromInteger(threadData_t *threadData, modelica_integer _n, modelica_integer _var)
Definition: NFDimension.c:1295
DLLExport modelica_metatype omc_NFExpression_applyIndexSubscriptRange(threadData_t *threadData, modelica_metatype _rangeExp, modelica_metatype _index)
struct record_description NFType_ARRAY__desc
DLLExport modelica_metatype omc_NFExpression_makeArray(threadData_t *threadData, modelica_metatype _ty, modelica_metatype _expl, modelica_boolean _literal)
void * modelica_metatype
DLLExport modelica_metatype omc_NFSubscript_toDimension(threadData_t *threadData, modelica_metatype _subscript)
Definition: NFSubscript.c:1051
modelica_integer listLength(modelica_metatype)
DLLExport modelica_metatype omc_NFType_unliftArray(threadData_t *threadData, modelica_metatype _ $in_ty)
Definition: NFType.c:3915
DLLExport modelica_metatype omc_NFType_liftArrayLeft(threadData_t *threadData, modelica_metatype _ $in_ty, modelica_metatype _dim)
Definition: NFType.c:4095
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_applySubscripts()

DLLExport modelica_metatype omc_NFExpression_applySubscripts ( threadData_t threadData,
modelica_metatype  _subscripts,
modelica_metatype  _exp 
)

Definition at line 17332 of file NFExpression.c.

17333 {
17334  modelica_metatype _outExp = NULL;
17335  MMC_SO();
17336  _tailrecursive: OMC_LABEL_UNUSED
17337 #line 948 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17338  if(listEmpty(_subscripts))
17339 #line 948 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17340  {
17341 #line 949 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17342  _outExp = _exp;
17343 #line 17343 OMC_FILE
17344  }
17345  else
17346  {
17347 #line 951 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17348  _outExp = omc_NFExpression_applySubscript(threadData, listHead(_subscripts), _exp, listRest(_subscripts));
17349 #line 17349 OMC_FILE
17350  }
17351  _return: OMC_LABEL_UNUSED
17352  return _outExp;
17353 }
void * modelica_metatype
DLLExport modelica_metatype omc_NFExpression_applySubscript(threadData_t *threadData, modelica_metatype _subscript, modelica_metatype _exp, modelica_metatype _restSubscripts)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_applySubscriptTypename()

DLLExport modelica_metatype omc_NFExpression_applySubscriptTypename ( threadData_t threadData,
modelica_metatype  _subscript,
modelica_metatype  _ty 
)

Definition at line 17045 of file NFExpression.c.

17046 {
17047  modelica_metatype _outExp = NULL;
17048  modelica_metatype _sub = NULL;
17049  modelica_integer _index;
17050  modelica_metatype _expl = NULL;
17051  modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
17052  MMC_SO();
17053  _tailrecursive: OMC_LABEL_UNUSED
17054 #line 1009 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17055  _sub = omc_NFSubscript_expandSlice(threadData, _subscript, NULL);
17056 #line 17056 OMC_FILE
17057 
17058 #line 17058 OMC_FILE
17059  { /* match expression */
17060  modelica_metatype tmp3_1;
17061  tmp3_1 = _sub;
17062  {
17063  int tmp3;
17064  {
17065  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
17066  case 5: {
17067 
17068  /* Pattern matching succeeded */
17069 #line 1012 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17070  tmpMeta[0] = omc_NFExpression_applyIndexSubscriptTypename(threadData, _ty, _sub);
17071 #line 17071 OMC_FILE
17072  goto tmp2_done;
17073  }
17074  case 6: {
17075 
17076  /* Pattern matching succeeded */
17077 #line 1015 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17078  tmpMeta[1] = mmc_mk_box2(9, &NFExpression_TYPENAME__desc, _ty);
17079 #line 1015 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17080  tmpMeta[2] = mmc_mk_cons(_subscript, MMC_REFSTRUCTLIT(mmc_nil));
17081 #line 1015 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17082  tmpMeta[3] = mmc_mk_cons(omc_NFSubscript_toDimension(threadData, _sub), MMC_REFSTRUCTLIT(mmc_nil));
17083 #line 1015 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17084  tmpMeta[4] = mmc_mk_box3(10, &NFType_ARRAY__desc, _ty, tmpMeta[3]);
17085 #line 1015 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17086  tmpMeta[5] = mmc_mk_box4(26, &NFExpression_SUBSCRIPTED__EXP__desc, tmpMeta[1], tmpMeta[2], tmpMeta[4]);
17087 #line 1015 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17088  tmpMeta[0] = tmpMeta[5];
17089 #line 17089 OMC_FILE
17090  goto tmp2_done;
17091  }
17092  case 8: {
17093 
17094  /* Pattern matching succeeded */
17095 #line 1018 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17096  tmpMeta[1] = mmc_mk_box2(9, &NFExpression_TYPENAME__desc, _ty);
17097 #line 1018 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17098  tmpMeta[0] = tmpMeta[1];
17099 #line 17099 OMC_FILE
17100  goto tmp2_done;
17101  }
17102  case 7: {
17103 
17104  /* Pattern matching succeeded */
17105 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17106  {
17107 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17108  modelica_metatype _$tmpVar89;
17109 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17110  modelica_metatype* tmp4;
17111 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17112  modelica_metatype _$tmpVar88;
17113 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17114  int tmp5;
17115 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17116  modelica_metatype i_loopVar = 0;
17117 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17118  modelica_metatype _i;
17119 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17120  i_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_sub), 2)));
17121 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17122  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
17123 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17124  _$tmpVar89 = tmpMeta[2]; /* defaultValue */
17125 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17126  tmp4 = &_$tmpVar89;
17127 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17128  while(1) {
17129 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17130  tmp5 = 1;
17131 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17132  if (!listEmpty(i_loopVar)) {
17133 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17134  _i = MMC_CAR(i_loopVar);
17135 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17136  i_loopVar = MMC_CDR(i_loopVar);
17137 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17138  tmp5--;
17139 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17140  }
17141 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17142  if (tmp5 == 0) {
17143 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17144  _$tmpVar88 = omc_NFExpression_applyIndexSubscriptTypename(threadData, _ty, _i);
17145 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17146  *tmp4 = mmc_mk_cons(_$tmpVar88,0);
17147 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17148  tmp4 = &MMC_CDR(*tmp4);
17149 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17150  } else if (tmp5 == 1) {
17151 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17152  break;
17153 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17154  } else {
17155 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17156  goto goto_1;
17157 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17158  }
17159 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17160  }
17161 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17162  *tmp4 = mmc_mk_nil();
17163 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17164  tmpMeta[1] = _$tmpVar89;
17165 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17166  }
17167 #line 1022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17168  _expl = tmpMeta[1];
17169 #line 17169 OMC_FILE
17170 #line 1023 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17171  tmpMeta[0] = omc_NFExpression_makeArray(threadData, omc_NFType_liftArrayLeft(threadData, _ty, omc_NFDimension_fromInteger(threadData, listLength(_expl), 1)), _expl, 1);
17172 #line 17172 OMC_FILE
17173  goto tmp2_done;
17174  }
17175  }
17176  goto tmp2_end;
17177  tmp2_end: ;
17178  }
17179  goto goto_1;
17180  goto_1:;
17181  MMC_THROW_INTERNAL();
17182  goto tmp2_done;
17183  tmp2_done:;
17184  }
17185  }
17186  _outExp = tmpMeta[0];
17187  _return: OMC_LABEL_UNUSED
17188  return _outExp;
17189 }
DLLExport modelica_metatype omc_NFSubscript_expandSlice(threadData_t *threadData, modelica_metatype _subscript, modelica_boolean *out_expanded)
Definition: NFSubscript.c:546
struct record_description NFExpression_SUBSCRIPTED__EXP__desc
m_integer modelica_integer
DLLExport modelica_metatype omc_NFDimension_fromInteger(threadData_t *threadData, modelica_integer _n, modelica_integer _var)
Definition: NFDimension.c:1295
DLLExport modelica_metatype omc_NFExpression_applyIndexSubscriptTypename(threadData_t *threadData, modelica_metatype _ty, modelica_metatype _index)
struct record_description NFExpression_TYPENAME__desc
struct record_description NFType_ARRAY__desc
DLLExport modelica_metatype omc_NFExpression_makeArray(threadData_t *threadData, modelica_metatype _ty, modelica_metatype _expl, modelica_boolean _literal)
void * modelica_metatype
DLLExport modelica_metatype omc_NFSubscript_toDimension(threadData_t *threadData, modelica_metatype _subscript)
Definition: NFSubscript.c:1051
modelica_integer listLength(modelica_metatype)
DLLExport modelica_metatype omc_NFType_liftArrayLeft(threadData_t *threadData, modelica_metatype _ $in_ty, modelica_metatype _dim)
Definition: NFType.c:4095
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_arrayAllEqual()

DLLExport modelica_boolean omc_NFExpression_arrayAllEqual ( threadData_t threadData,
modelica_metatype  _arrayExp 
)

Definition at line 4223 of file NFExpression.c.

4224 {
4225  modelica_boolean _allEqual;
4226  modelica_boolean tmp1 = 0;
4227  MMC_SO();
4228  _tailrecursive: OMC_LABEL_UNUSED
4229 #line 4229 OMC_FILE
4230  { /* matchcontinue expression */
4231  volatile modelica_metatype tmp4_1;
4232  tmp4_1 = _arrayExp;
4233  {
4234  volatile mmc_switch_type tmp4;
4235  int tmp5;
4236  tmp4 = 0;
4237  MMC_TRY_INTERNAL(mmc_jumper)
4238  tmp3_top:
4239  threadData->mmc_jumper = &new_mmc_jumper;
4240  for (; tmp4 < 2; tmp4++) {
4241  switch (MMC_SWITCH_CAST(tmp4)) {
4242  case 0: {
4243  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,7,3) == 0) goto tmp3_end;
4244 
4245  /* Pattern matching succeeded */
4246 #line 3889 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4247  tmp1 = omc_NFExpression_arrayAllEqual2(threadData, _arrayExp, omc_NFExpression_arrayFirstScalar(threadData, _arrayExp));
4248 #line 4248 OMC_FILE
4249  goto tmp3_done;
4250  }
4251  case 1: {
4252 
4253  /* Pattern matching succeeded */
4254 #line 3890 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4255  tmp1 = 1;
4256 #line 4256 OMC_FILE
4257  goto tmp3_done;
4258  }
4259  }
4260  goto tmp3_end;
4261  tmp3_end: ;
4262  }
4263  goto goto_2;
4264  tmp3_done:
4265  (void)tmp4;
4266  MMC_RESTORE_INTERNAL(mmc_jumper);
4267  goto tmp3_done2;
4268  goto_2:;
4269  MMC_CATCH_INTERNAL(mmc_jumper);
4270  if (++tmp4 < 2) {
4271  goto tmp3_top;
4272  }
4273  MMC_THROW_INTERNAL();
4274  tmp3_done2:;
4275  }
4276  }
4277  _allEqual = tmp1;
4278  _return: OMC_LABEL_UNUSED
4279  return _allEqual;
4280 }
GC_API void(GC_CALLBACK *GC_same_obj_print_proc)(void *
signed char modelica_boolean
float mmc_switch_type
DLLExport modelica_metatype omc_NFExpression_arrayFirstScalar(threadData_t *threadData, modelica_metatype _arrayExp)
void * modelica_metatype
DLLExport modelica_boolean omc_NFExpression_arrayAllEqual2(threadData_t *threadData, modelica_metatype _arrayExp, modelica_metatype _element)
jmp_buf * mmc_jumper
Definition: omc_gc.h:119
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_arrayAllEqual2()

DLLExport modelica_boolean omc_NFExpression_arrayAllEqual2 ( threadData_t threadData,
modelica_metatype  _arrayExp,
modelica_metatype  _element 
)

Definition at line 4150 of file NFExpression.c.

4151 {
4152  modelica_boolean _allEqual;
4153  modelica_boolean tmp1 = 0;
4154  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
4155  MMC_SO();
4156  _tailrecursive: OMC_LABEL_UNUSED
4157 #line 4157 OMC_FILE
4158  { /* match expression */
4159  modelica_metatype tmp4_1;
4160  tmp4_1 = _arrayExp;
4161  {
4162  volatile mmc_switch_type tmp4;
4163  int tmp5;
4164  tmp4 = 0;
4165  for (; tmp4 < 3; tmp4++) {
4166  switch (MMC_SWITCH_CAST(tmp4)) {
4167  case 0: {
4168  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,7,3) == 0) goto tmp3_end;
4169  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
4170  if (listEmpty(tmpMeta[0])) goto tmp3_end;
4171  tmpMeta[1] = MMC_CAR(tmpMeta[0]);
4172  tmpMeta[2] = MMC_CDR(tmpMeta[0]);
4173  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],7,3) == 0) goto tmp3_end;
4174 
4175  /* Pattern matching succeeded */
4176 #line 3901 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4177  tmp1 = omc_List_map1BoolAnd(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_arrayExp), 3))), boxvar_NFExpression_arrayAllEqual2, _element);
4178 #line 4178 OMC_FILE
4179  goto tmp3_done;
4180  }
4181  case 1: {
4182  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,7,3) == 0) goto tmp3_end;
4183 
4184  /* Pattern matching succeeded */
4185 #line 3903 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4186  tmp1 = omc_List_map1BoolAnd(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_arrayExp), 3))), boxvar_NFExpression_isEqual, _element);
4187 #line 4187 OMC_FILE
4188  goto tmp3_done;
4189  }
4190  case 2: {
4191 
4192  /* Pattern matching succeeded */
4193 #line 3904 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4194  tmp1 = 1;
4195 #line 4195 OMC_FILE
4196  goto tmp3_done;
4197  }
4198  }
4199  goto tmp3_end;
4200  tmp3_end: ;
4201  }
4202  goto goto_2;
4203  goto_2:;
4204  MMC_THROW_INTERNAL();
4205  goto tmp3_done;
4206  tmp3_done:;
4207  }
4208  }
4209  _allEqual = tmp1;
4210  _return: OMC_LABEL_UNUSED
4211  return _allEqual;
4212 }
DLLExport modelica_boolean omc_List_map1BoolAnd(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFunc, modelica_metatype _inArg1)
Definition: List.c:10463
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_arrayElements()

DLLExport modelica_metatype omc_NFExpression_arrayElements ( threadData_t threadData,
modelica_metatype  _array 
)

Definition at line 2760 of file NFExpression.c.

2761 {
2762  modelica_metatype _elements = NULL;
2763  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
2764  MMC_SO();
2765  _tailrecursive: OMC_LABEL_UNUSED
2766 #line 4185 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2767  /* Pattern-matching assignment */
2768 #line 4185 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2769  tmpMeta[0] = _array;
2770 #line 4185 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2771  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],7,3) == 0) MMC_THROW_INTERNAL();
2772 #line 4185 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2773  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
2774 #line 4185 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2775  _elements = tmpMeta[1];
2776 #line 2776 OMC_FILE
2777  _return: OMC_LABEL_UNUSED
2778  return _elements;
2779 }
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_arrayFirstScalar()

DLLExport modelica_metatype omc_NFExpression_arrayFirstScalar ( threadData_t threadData,
modelica_metatype  _arrayExp 
)

Definition at line 4291 of file NFExpression.c.

4292 {
4293  modelica_metatype _exp = NULL;
4294  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
4295  MMC_SO();
4296  _tailrecursive: OMC_LABEL_UNUSED
4297 #line 4297 OMC_FILE
4298  { /* match expression */
4299  modelica_metatype tmp3_1;
4300  tmp3_1 = _arrayExp;
4301  {
4302  volatile mmc_switch_type tmp3;
4303  int tmp4;
4304  tmp3 = 0;
4305  for (; tmp3 < 2; tmp3++) {
4306  switch (MMC_SWITCH_CAST(tmp3)) {
4307  case 0: {
4308  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,7,3) == 0) goto tmp2_end;
4309 
4310  /* Pattern matching succeeded */
4311 #line 3877 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4312  /* Tail recursive call */
4313 #line 3877 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4314  _arrayExp = listHead((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_arrayExp), 3))));
4315 #line 3877 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4316  goto _tailrecursive;
4317 #line 3877 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4318  /* TODO: Make sure any eventual dead code below is never generated */
4319 #line 4319 OMC_FILE
4320  goto tmp2_done;
4321  }
4322  case 1: {
4323 
4324  /* Pattern matching succeeded */
4325 #line 3878 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4326  tmpMeta[0] = _arrayExp;
4327 #line 4327 OMC_FILE
4328  goto tmp2_done;
4329  }
4330  }
4331  goto tmp2_end;
4332  tmp2_end: ;
4333  }
4334  goto goto_1;
4335  goto_1:;
4336  MMC_THROW_INTERNAL();
4337  goto tmp2_done;
4338  tmp2_done:;
4339  }
4340  }
4341  _exp = tmpMeta[0];
4342  _return: OMC_LABEL_UNUSED
4343  return _exp;
4344 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_arrayFromList()

DLLExport modelica_metatype omc_NFExpression_arrayFromList ( threadData_t threadData,
modelica_metatype  _inExps,
modelica_metatype  _elemTy,
modelica_metatype  _inDims 
)

Definition at line 15791 of file NFExpression.c.

15792 {
15793  modelica_metatype _outExp = NULL;
15794  MMC_SO();
15795  _tailrecursive: OMC_LABEL_UNUSED
15796 #line 1350 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15797  _outExp = omc_NFExpression_arrayFromList__impl(threadData, _inExps, _elemTy, listReverse(_inDims));
15798 #line 15798 OMC_FILE
15799  _return: OMC_LABEL_UNUSED
15800  return _outExp;
15801 }
DLLExport modelica_metatype omc_NFExpression_arrayFromList__impl(threadData_t *threadData, modelica_metatype _inExps, modelica_metatype _elemTy, modelica_metatype _inDims)
void * modelica_metatype
modelica_metatype listReverse(modelica_metatype)
Here is the call graph for this function:

◆ omc_NFExpression_arrayFromList__impl()

DLLExport modelica_metatype omc_NFExpression_arrayFromList__impl ( threadData_t threadData,
modelica_metatype  _inExps,
modelica_metatype  _elemTy,
modelica_metatype  _inDims 
)

Definition at line 15682 of file NFExpression.c.

15683 {
15684  modelica_metatype _outExp = NULL;
15685  modelica_metatype _ldim = NULL;
15686  modelica_metatype _restdims = NULL;
15687  modelica_metatype _ty = NULL;
15688  modelica_metatype _newlst = NULL;
15689  modelica_metatype _partexps = NULL;
15690  modelica_integer _dimsize;
15691  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
15692  MMC_SO();
15693  _tailrecursive: OMC_LABEL_UNUSED
15694 #line 1366 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15695  omc_Error_assertion(threadData, (!listEmpty(_inDims)), _OMC_LIT77, _OMC_LIT78);
15696 #line 15696 OMC_FILE
15697 
15698 #line 1368 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15699  /* Pattern-matching assignment */
15700 #line 1368 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15701  tmpMeta[0] = _inDims;
15702 #line 1368 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15703  if (listEmpty(tmpMeta[0])) MMC_THROW_INTERNAL();
15704 #line 1368 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15705  tmpMeta[1] = MMC_CAR(tmpMeta[0]);
15706 #line 1368 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15707  tmpMeta[2] = MMC_CDR(tmpMeta[0]);
15708 #line 1368 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15709  _ldim = tmpMeta[1];
15710 #line 1368 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15711  _restdims = tmpMeta[2];
15712 #line 15712 OMC_FILE
15713 
15714 #line 1369 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15715  _dimsize = omc_NFDimension_size(threadData, _ldim);
15716 #line 15716 OMC_FILE
15717 
15718 #line 1370 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15719  _ty = omc_NFType_liftArrayLeft(threadData, _elemTy, _ldim);
15720 #line 15720 OMC_FILE
15721 
15722 #line 1372 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15723  if(omc_List_hasOneElement(threadData, _inDims))
15724 #line 1372 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15725  {
15726 #line 1373 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15727  omc_Error_assertion(threadData, ((modelica_integer)_dimsize == listLength(_inExps)), _OMC_LIT79, _OMC_LIT80);
15728 #line 15728 OMC_FILE
15729 
15730 #line 1374 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15731  _outExp = omc_NFExpression_makeArray(threadData, _ty, _inExps, 0);
15732 #line 15732 OMC_FILE
15733 
15734 #line 1375 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15735  goto _return;
15736 #line 15736 OMC_FILE
15737  }
15738 
15739 #line 1378 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15740  _partexps = omc_List_partition(threadData, _inExps, (modelica_integer)_dimsize);
15741 #line 15741 OMC_FILE
15742 
15743 #line 1380 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15744  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
15745 #line 1380 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15746  _newlst = tmpMeta[0];
15747 #line 15747 OMC_FILE
15748 
15749 #line 1381 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15750  {
15751 #line 1381 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15752  modelica_metatype _arrexp;
15753 #line 1381 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15754  for (tmpMeta[0] = _partexps; !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
15755 #line 1381 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15756  {
15757 #line 1381 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15758  _arrexp = MMC_CAR(tmpMeta[0]);
15759 #line 1382 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15760  tmpMeta[1] = mmc_mk_cons(omc_NFExpression_makeArray(threadData, _ty, _arrexp, 0), _newlst);
15761 #line 1382 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15762  _newlst = tmpMeta[1];
15763 #line 15763 OMC_FILE
15764  }
15765  }
15766 
15767 #line 1385 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15768  _newlst = listReverse(_newlst);
15769 #line 15769 OMC_FILE
15770 
15771 #line 1386 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15772  /* Tail recursive call */
15773 #line 1386 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15774  _inExps = _newlst;
15775 #line 1386 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15776  _elemTy = _ty;
15777 #line 1386 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15778  _inDims = _restdims;
15779 #line 1386 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15780  goto _tailrecursive;
15781 #line 1386 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15782  /* TODO: Make sure any eventual dead code below is never generated */
15783 #line 1386 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15784  ;
15785 #line 15785 OMC_FILE
15786  _return: OMC_LABEL_UNUSED
15787  return _outExp;
15788 }
DLLExport modelica_metatype omc_List_partition(threadData_t *threadData, modelica_metatype _inList, modelica_integer _inPartitionLength)
Definition: List.c:15066
DLLExport modelica_integer omc_NFDimension_size(threadData_t *threadData, modelica_metatype _dim)
Definition: NFDimension.c:1013
m_integer modelica_integer
DLLExport void omc_Error_assertion(threadData_t *threadData, modelica_boolean _b, modelica_string _message, modelica_metatype _info)
Definition: Error.c:325
DLLExport modelica_boolean omc_List_hasOneElement(threadData_t *threadData, modelica_metatype _inList)
Definition: List.c:1996
DLLExport modelica_metatype omc_NFExpression_makeArray(threadData_t *threadData, modelica_metatype _ty, modelica_metatype _expl, modelica_boolean _literal)
void * modelica_metatype
modelica_integer listLength(modelica_metatype)
modelica_metatype listReverse(modelica_metatype)
DLLExport modelica_metatype omc_NFType_liftArrayLeft(threadData_t *threadData, modelica_metatype _ $in_ty, modelica_metatype _dim)
Definition: NFType.c:4095
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_arrayScalarElement()

DLLExport modelica_metatype omc_NFExpression_arrayScalarElement ( threadData_t threadData,
modelica_metatype  _arrayExp 
)

Definition at line 2646 of file NFExpression.c.

2647 {
2648  modelica_metatype _scalarExp = NULL;
2649  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
2650  MMC_SO();
2651  _tailrecursive: OMC_LABEL_UNUSED
2652 #line 4216 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2653  /* Pattern-matching assignment */
2654 #line 4216 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2655  tmpMeta[0] = _arrayExp;
2656 #line 4216 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2657  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],7,3) == 0) MMC_THROW_INTERNAL();
2658 #line 4216 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2659  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
2660 #line 4216 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2661  if (listEmpty(tmpMeta[1])) MMC_THROW_INTERNAL();
2662 #line 4216 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2663  tmpMeta[2] = MMC_CAR(tmpMeta[1]);
2664 #line 4216 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2665  tmpMeta[3] = MMC_CDR(tmpMeta[1]);
2666 #line 4216 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2667  if (!listEmpty(tmpMeta[3])) MMC_THROW_INTERNAL();
2668 #line 4216 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2669  _scalarExp = tmpMeta[2];
2670 #line 2670 OMC_FILE
2671  _return: OMC_LABEL_UNUSED
2672  return _scalarExp;
2673 }
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_arrayScalarElements()

DLLExport modelica_metatype omc_NFExpression_arrayScalarElements ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 2744 of file NFExpression.c.

2745 {
2746  modelica_metatype _elements = NULL;
2747  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
2748  MMC_SO();
2749  _tailrecursive: OMC_LABEL_UNUSED
2750 #line 4192 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2751  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
2752 #line 4192 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2753  _elements = listReverseInPlace(omc_NFExpression_arrayScalarElements__impl(threadData, _exp, tmpMeta[0]));
2754 #line 2754 OMC_FILE
2755  _return: OMC_LABEL_UNUSED
2756  return _elements;
2757 }
DLLExport modelica_metatype omc_NFExpression_arrayScalarElements__impl(threadData_t *threadData, modelica_metatype _exp, modelica_metatype _ $in_elements)
void * modelica_metatype
modelica_metatype listReverseInPlace(modelica_metatype)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_arrayScalarElements__impl()

DLLExport modelica_metatype omc_NFExpression_arrayScalarElements__impl ( threadData_t threadData,
modelica_metatype  _exp,
modelica_metatype $in_elements 
)

Definition at line 2676 of file NFExpression.c.

2677 {
2678  modelica_metatype _elements = NULL;
2679  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
2680  MMC_SO();
2681  _tailrecursive: OMC_LABEL_UNUSED
2682  _elements = _$in_elements;
2683 #line 2683 OMC_FILE
2684  { /* match expression */
2685  modelica_metatype tmp3_1;
2686  tmp3_1 = _exp;
2687  {
2688  volatile mmc_switch_type tmp3;
2689  int tmp4;
2690  tmp3 = 0;
2691  for (; tmp3 < 2; tmp3++) {
2692  switch (MMC_SWITCH_CAST(tmp3)) {
2693  case 0: {
2694  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,7,3) == 0) goto tmp2_end;
2695 
2696  /* Pattern matching succeeded */
2697 #line 4202 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2698  {
2699 #line 4202 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2700  modelica_metatype _e;
2701 #line 4202 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2702  for (tmpMeta[1] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))); !listEmpty(tmpMeta[1]); tmpMeta[1]=MMC_CDR(tmpMeta[1]))
2703 #line 4202 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2704  {
2705 #line 4202 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2706  _e = MMC_CAR(tmpMeta[1]);
2707 #line 4203 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2708  _elements = omc_NFExpression_arrayScalarElements__impl(threadData, _e, _elements);
2709 #line 2709 OMC_FILE
2710  }
2711  }
2712 #line 4205 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2713  tmpMeta[0] = _elements;
2714 #line 2714 OMC_FILE
2715  goto tmp2_done;
2716  }
2717  case 1: {
2718 
2719  /* Pattern matching succeeded */
2720 #line 4208 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2721  tmpMeta[1] = mmc_mk_cons(_exp, _elements);
2722 #line 4208 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2723  tmpMeta[0] = tmpMeta[1];
2724 #line 2724 OMC_FILE
2725  goto tmp2_done;
2726  }
2727  }
2728  goto tmp2_end;
2729  tmp2_end: ;
2730  }
2731  goto goto_1;
2732  goto_1:;
2733  MMC_THROW_INTERNAL();
2734  goto tmp2_done;
2735  tmp2_done:;
2736  }
2737  }
2738  _elements = tmpMeta[0];
2739  _return: OMC_LABEL_UNUSED
2740  return _elements;
2741 }
float mmc_switch_type
DLLExport modelica_metatype omc_NFExpression_arrayScalarElements__impl(threadData_t *threadData, modelica_metatype _exp, modelica_metatype _ $in_elements)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_box()

DLLExport modelica_metatype omc_NFExpression_box ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 2932 of file NFExpression.c.

2933 {
2934  modelica_metatype _boxedExp = NULL;
2935  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
2936  MMC_SO();
2937  _tailrecursive: OMC_LABEL_UNUSED
2938 #line 2938 OMC_FILE
2939  { /* match expression */
2940  modelica_metatype tmp3_1;
2941  tmp3_1 = _exp;
2942  {
2943  volatile mmc_switch_type tmp3;
2944  int tmp4;
2945  tmp3 = 0;
2946  for (; tmp3 < 2; tmp3++) {
2947  switch (MMC_SWITCH_CAST(tmp3)) {
2948  case 0: {
2949  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,26,1) == 0) goto tmp2_end;
2950 
2951  /* Pattern matching succeeded */
2952 #line 4146 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2953  tmpMeta[0] = _exp;
2954 #line 2954 OMC_FILE
2955  goto tmp2_done;
2956  }
2957  case 1: {
2958 
2959  /* Pattern matching succeeded */
2960 #line 4147 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2961  tmpMeta[1] = mmc_mk_box2(29, &NFExpression_BOX__desc, _exp);
2962 #line 4147 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2963  tmpMeta[0] = tmpMeta[1];
2964 #line 2964 OMC_FILE
2965  goto tmp2_done;
2966  }
2967  }
2968  goto tmp2_end;
2969  tmp2_end: ;
2970  }
2971  goto goto_1;
2972  goto_1:;
2973  MMC_THROW_INTERNAL();
2974  goto tmp2_done;
2975  tmp2_done:;
2976  }
2977  }
2978  _boxedExp = tmpMeta[0];
2979  _return: OMC_LABEL_UNUSED
2980  return _boxedExp;
2981 }
float mmc_switch_type
void * modelica_metatype
struct record_description NFExpression_BOX__desc
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_callContains()

DLLExport modelica_boolean omc_NFExpression_callContains ( threadData_t threadData,
modelica_metatype  _call,
modelica_fnptr  _func 
)

Definition at line 4347 of file NFExpression.c.

4348 {
4349  modelica_boolean _res;
4350  modelica_boolean tmp1 = 0;
4351  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
4352  MMC_SO();
4353  _tailrecursive: OMC_LABEL_UNUSED
4354 #line 4354 OMC_FILE
4355  { /* match expression */
4356  modelica_metatype tmp4_1;
4357  tmp4_1 = _call;
4358  {
4359  modelica_metatype _e = NULL;
4360  int tmp4;
4361  {
4362  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
4363  case 3: {
4364 
4365  /* Pattern matching succeeded */
4366 #line 3828 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4367  _res = omc_NFExpression_listContains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), ((modelica_fnptr) _func));
4368 #line 4368 OMC_FILE
4369 
4370 #line 3830 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4371  if((!_res))
4372 #line 3830 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4373  {
4374 #line 3831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4375  {
4376 #line 3831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4377  modelica_metatype _arg;
4378 #line 3831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4379  for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))); !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
4380 #line 3831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4381  {
4382 #line 3831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4383  _arg = MMC_CAR(tmpMeta[0]);
4384 #line 3832 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4385  /* Pattern-matching assignment */
4386 #line 3832 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4387  tmpMeta[1] = _arg;
4388 #line 3832 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4389  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
4390 #line 3832 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4391  _e = tmpMeta[2];
4392 #line 4392 OMC_FILE
4393 
4394 #line 3834 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4395  if(omc_NFExpression_contains(threadData, _e, ((modelica_fnptr) _func)))
4396 #line 3834 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4397  {
4398 #line 3835 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4399  _res = 1;
4400 #line 4400 OMC_FILE
4401 
4402 #line 3836 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4403  break;
4404 #line 4404 OMC_FILE
4405  }
4406  }
4407  }
4408  }
4409 #line 3840 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4410  tmp1 = _res;
4411 #line 4411 OMC_FILE
4412  goto tmp3_done;
4413  }
4414  case 4: {
4415 
4416  /* Pattern matching succeeded */
4417 #line 3845 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4418  {
4419 #line 3845 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4420  modelica_metatype _arg;
4421 #line 3845 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4422  for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))); !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
4423 #line 3845 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4424  {
4425 #line 3845 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4426  _arg = MMC_CAR(tmpMeta[0]);
4427 #line 3846 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4428  /* Pattern-matching assignment */
4429 #line 3846 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4430  tmpMeta[1] = _arg;
4431 #line 3846 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4432  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
4433 #line 3846 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4434  _e = tmpMeta[2];
4435 #line 4435 OMC_FILE
4436 
4437 #line 3847 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4438  if(omc_NFExpression_contains(threadData, _e, ((modelica_fnptr) _func)))
4439 #line 3847 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4440  {
4441 #line 3848 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4442  _res = 1;
4443 #line 4443 OMC_FILE
4444 
4445 #line 3849 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4446  goto _return;
4447 #line 4447 OMC_FILE
4448  }
4449  }
4450  }
4451 
4452 #line 3853 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4453  {
4454 #line 3853 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4455  modelica_metatype _arg;
4456 #line 3853 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4457  for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))); !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
4458 #line 3853 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4459  {
4460 #line 3853 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4461  _arg = MMC_CAR(tmpMeta[0]);
4462 #line 3854 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4463  /* Pattern-matching assignment */
4464 #line 3854 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4465  tmpMeta[1] = _arg;
4466 #line 3854 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4467  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
4468 #line 3854 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4469  _e = tmpMeta[2];
4470 #line 4470 OMC_FILE
4471 
4472 #line 3855 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4473  if(omc_NFExpression_contains(threadData, _e, ((modelica_fnptr) _func)))
4474 #line 3855 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4475  {
4476 #line 3856 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4477  _res = 1;
4478 #line 4478 OMC_FILE
4479 
4480 #line 3857 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4481  goto _return;
4482 #line 4482 OMC_FILE
4483  }
4484  }
4485  }
4486 #line 3860 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4487  tmp1 = 0;
4488 #line 4488 OMC_FILE
4489  goto tmp3_done;
4490  }
4491  case 5: {
4492 
4493  /* Pattern matching succeeded */
4494 #line 3863 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4495  tmp1 = omc_NFExpression_listContains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))), ((modelica_fnptr) _func));
4496 #line 4496 OMC_FILE
4497  goto tmp3_done;
4498  }
4499  case 6: {
4500 
4501  /* Pattern matching succeeded */
4502 #line 3864 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4503  tmp1 = omc_NFExpression_contains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), ((modelica_fnptr) _func));
4504 #line 4504 OMC_FILE
4505  goto tmp3_done;
4506  }
4507  case 7: {
4508 
4509  /* Pattern matching succeeded */
4510 #line 3865 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4511  tmp1 = omc_NFExpression_contains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))), ((modelica_fnptr) _func));
4512 #line 4512 OMC_FILE
4513  goto tmp3_done;
4514  }
4515  case 8: {
4516 
4517  /* Pattern matching succeeded */
4518 #line 3866 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4519  tmp1 = omc_NFExpression_contains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), ((modelica_fnptr) _func));
4520 #line 4520 OMC_FILE
4521  goto tmp3_done;
4522  }
4523  case 9: {
4524 
4525  /* Pattern matching succeeded */
4526 #line 3867 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4527  tmp1 = omc_NFExpression_contains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))), ((modelica_fnptr) _func));
4528 #line 4528 OMC_FILE
4529  goto tmp3_done;
4530  }
4531  }
4532  goto tmp3_end;
4533  tmp3_end: ;
4534  }
4535  goto goto_2;
4536  goto_2:;
4537  MMC_THROW_INTERNAL();
4538  goto tmp3_done;
4539  tmp3_done:;
4540  }
4541  }
4542  _res = tmp1;
4543  _return: OMC_LABEL_UNUSED
4544  return _res;
4545 }
signed char modelica_boolean
void * modelica_fnptr
void * modelica_metatype
DLLExport modelica_boolean omc_NFExpression_listContains(threadData_t *threadData, modelica_metatype _expl, modelica_fnptr _func)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
DLLExport modelica_boolean omc_NFExpression_contains(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_ClockKind_compare()

DLLExport modelica_integer omc_NFExpression_ClockKind_compare ( threadData_t threadData,
modelica_metatype  _ck1,
modelica_metatype  _ck2 
)

Definition at line 20685 of file NFExpression.c.

20686 {
20687  modelica_integer _comp;
20688  modelica_integer tmp1 = 0;
20689  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
20690  MMC_SO();
20691  _tailrecursive: OMC_LABEL_UNUSED
20692 #line 20692 OMC_FILE
20693  { /* match expression */
20694  modelica_metatype tmp4_1;modelica_metatype tmp4_2;
20695  tmp4_1 = _ck1;
20696  tmp4_2 = _ck2;
20697  {
20698  modelica_metatype _i1 = NULL;
20699  modelica_metatype _r1 = NULL;
20700  modelica_metatype _c1 = NULL;
20701  modelica_metatype _si1 = NULL;
20702  modelica_metatype _sm1 = NULL;
20703  modelica_metatype _i2 = NULL;
20704  modelica_metatype _r2 = NULL;
20705  modelica_metatype _c2 = NULL;
20706  modelica_metatype _si2 = NULL;
20707  modelica_metatype _sm2 = NULL;
20708  int tmp4;
20709  {
20710  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
20711  case 3: {
20712  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,0) == 0) goto tmp3_end;
20713  if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,0,0) == 0) goto tmp3_end;
20714  /* Pattern matching succeeded */
20715 #line 103 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20716  tmp1 = ((modelica_integer) 0);
20717 #line 20717 OMC_FILE
20718  goto tmp3_done;
20719  }
20720  case 4: {
20721  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,2) == 0) goto tmp3_end;
20722  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
20723  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
20724  if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,1,2) == 0) goto tmp3_end;
20725  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
20726  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
20727  _i1 = tmpMeta[0];
20728  _r1 = tmpMeta[1];
20729  _i2 = tmpMeta[2];
20730  _r2 = tmpMeta[3];
20731  /* Pattern matching succeeded */
20732 #line 106 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20733  _comp = omc_NFExpression_compare(threadData, _i1, _i2);
20734 #line 20734 OMC_FILE
20735 
20736 #line 107 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20737  if(((modelica_integer)_comp == ((modelica_integer) 0)))
20738 #line 107 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20739  {
20740 #line 108 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20741  _comp = omc_NFExpression_compare(threadData, _r1, _r2);
20742 #line 20742 OMC_FILE
20743  }
20744 #line 110 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20745  tmp1 = (modelica_integer)_comp;
20746 #line 20746 OMC_FILE
20747  goto tmp3_done;
20748  }
20749  case 5: {
20750  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,2,1) == 0) goto tmp3_end;
20751  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
20752  if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,2,1) == 0) goto tmp3_end;
20753  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
20754  _i1 = tmpMeta[0];
20755  _i2 = tmpMeta[1];
20756  /* Pattern matching succeeded */
20757 #line 111 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20758  tmp1 = omc_NFExpression_compare(threadData, _i1, _i2);
20759 #line 20759 OMC_FILE
20760  goto tmp3_done;
20761  }
20762  case 6: {
20763  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,3,2) == 0) goto tmp3_end;
20764  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
20765  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
20766  if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,3,2) == 0) goto tmp3_end;
20767  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
20768  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
20769  _c1 = tmpMeta[0];
20770  _si1 = tmpMeta[1];
20771  _c2 = tmpMeta[2];
20772  _si2 = tmpMeta[3];
20773  /* Pattern matching succeeded */
20774 #line 114 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20775  _comp = omc_NFExpression_compare(threadData, _c1, _c2);
20776 #line 20776 OMC_FILE
20777 
20778 #line 115 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20779  if(((modelica_integer)_comp == ((modelica_integer) 0)))
20780 #line 115 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20781  {
20782 #line 116 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20783  _comp = omc_NFExpression_compare(threadData, _si1, _si2);
20784 #line 20784 OMC_FILE
20785  }
20786 #line 118 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20787  tmp1 = (modelica_integer)_comp;
20788 #line 20788 OMC_FILE
20789  goto tmp3_done;
20790  }
20791  case 7: {
20792  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,4,2) == 0) goto tmp3_end;
20793  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
20794  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
20795  if (mmc__uniontype__metarecord__typedef__equal(tmp4_2,4,2) == 0) goto tmp3_end;
20796  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 2));
20797  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 3));
20798  _c1 = tmpMeta[0];
20799  _sm2 = tmpMeta[1];
20800  _c2 = tmpMeta[2];
20801  _sm1 = tmpMeta[3];
20802  /* Pattern matching succeeded */
20803 #line 121 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20804  _comp = omc_NFExpression_compare(threadData, _c1, _c2);
20805 #line 20805 OMC_FILE
20806 
20807 #line 122 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20808  if(((modelica_integer)_comp == ((modelica_integer) 0)))
20809 #line 122 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20810  {
20811 #line 123 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20812  _comp = omc_NFExpression_compare(threadData, _sm1, _sm2);
20813 #line 20813 OMC_FILE
20814  }
20815 #line 125 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20816  tmp1 = (modelica_integer)_comp;
20817 #line 20817 OMC_FILE
20818  goto tmp3_done;
20819  }
20820  }
20821  goto tmp3_end;
20822  tmp3_end: ;
20823  }
20824  goto goto_2;
20825  goto_2:;
20826  MMC_THROW_INTERNAL();
20827  goto tmp3_done;
20828  tmp3_done:;
20829  }
20830  }
20831  _comp = tmp1;
20832  _return: OMC_LABEL_UNUSED
20833  return _comp;
20834 }
m_integer modelica_integer
DLLExport modelica_integer omc_NFExpression_compare(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _exp2)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_ClockKind_toDAE()

DLLExport modelica_metatype omc_NFExpression_ClockKind_toDAE ( threadData_t threadData,
modelica_metatype  _ick 
)

Definition at line 20587 of file NFExpression.c.

20588 {
20589  modelica_metatype _ock = NULL;
20590  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
20591  MMC_SO();
20592  _tailrecursive: OMC_LABEL_UNUSED
20593 #line 20593 OMC_FILE
20594  { /* match expression */
20595  modelica_metatype tmp3_1;
20596  tmp3_1 = _ick;
20597  {
20598  modelica_metatype _i = NULL;
20599  modelica_metatype _r = NULL;
20600  modelica_metatype _c = NULL;
20601  modelica_metatype _si = NULL;
20602  modelica_metatype _sm = NULL;
20603  int tmp3;
20604  {
20605  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
20606  case 3: {
20607 
20608  /* Pattern matching succeeded */
20609 #line 136 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20610  tmpMeta[0] = _OMC_LIT96;
20611 #line 20611 OMC_FILE
20612  goto tmp2_done;
20613  }
20614  case 4: {
20615  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,2) == 0) goto tmp2_end;
20616  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
20617  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
20618  _i = tmpMeta[1];
20619  _r = tmpMeta[2];
20620  /* Pattern matching succeeded */
20621 #line 137 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20622  tmpMeta[1] = mmc_mk_box3(4, &DAE_ClockKind_INTEGER__CLOCK__desc, omc_NFExpression_toDAE(threadData, _i), omc_NFExpression_toDAE(threadData, _r));
20623 #line 137 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20624  tmpMeta[0] = tmpMeta[1];
20625 #line 20625 OMC_FILE
20626  goto tmp2_done;
20627  }
20628  case 5: {
20629  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,2,1) == 0) goto tmp2_end;
20630  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
20631  _i = tmpMeta[1];
20632  /* Pattern matching succeeded */
20633 #line 138 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20634  tmpMeta[1] = mmc_mk_box2(5, &DAE_ClockKind_REAL__CLOCK__desc, omc_NFExpression_toDAE(threadData, _i));
20635 #line 138 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20636  tmpMeta[0] = tmpMeta[1];
20637 #line 20637 OMC_FILE
20638  goto tmp2_done;
20639  }
20640  case 6: {
20641  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,3,2) == 0) goto tmp2_end;
20642  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
20643  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
20644  _c = tmpMeta[1];
20645  _si = tmpMeta[2];
20646  /* Pattern matching succeeded */
20647 #line 139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20648  tmpMeta[1] = mmc_mk_box3(6, &DAE_ClockKind_BOOLEAN__CLOCK__desc, omc_NFExpression_toDAE(threadData, _c), omc_NFExpression_toDAE(threadData, _si));
20649 #line 139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20650  tmpMeta[0] = tmpMeta[1];
20651 #line 20651 OMC_FILE
20652  goto tmp2_done;
20653  }
20654  case 7: {
20655  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,4,2) == 0) goto tmp2_end;
20656  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
20657  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
20658  _c = tmpMeta[1];
20659  _sm = tmpMeta[2];
20660  /* Pattern matching succeeded */
20661 #line 140 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20662  tmpMeta[1] = mmc_mk_box3(7, &DAE_ClockKind_SOLVER__CLOCK__desc, omc_NFExpression_toDAE(threadData, _c), omc_NFExpression_toDAE(threadData, _sm));
20663 #line 140 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20664  tmpMeta[0] = tmpMeta[1];
20665 #line 20665 OMC_FILE
20666  goto tmp2_done;
20667  }
20668  }
20669  goto tmp2_end;
20670  tmp2_end: ;
20671  }
20672  goto goto_1;
20673  goto_1:;
20674  MMC_THROW_INTERNAL();
20675  goto tmp2_done;
20676  tmp2_done:;
20677  }
20678  }
20679  _ock = tmpMeta[0];
20680  _return: OMC_LABEL_UNUSED
20681  return _ock;
20682 }
struct record_description DAE_ClockKind_INTEGER__CLOCK__desc
Definition: DAE_records.c:5178
struct record_description DAE_ClockKind_BOOLEAN__CLOCK__desc
Definition: DAE_records.c:5204
void * modelica_metatype
struct record_description DAE_ClockKind_REAL__CLOCK__desc
Definition: DAE_records.c:5191
struct record_description DAE_ClockKind_SOLVER__CLOCK__desc
Definition: DAE_records.c:5217
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
DLLExport modelica_metatype omc_NFExpression_toDAE(threadData_t *threadData, modelica_metatype _exp)

◆ omc_NFExpression_ClockKind_toString()

DLLExport modelica_string omc_NFExpression_ClockKind_toString ( threadData_t threadData,
modelica_metatype  _ick 
)

Definition at line 20468 of file NFExpression.c.

20469 {
20470  modelica_string _ock = NULL;
20471  modelica_string tmp1 = 0;
20472  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
20473  MMC_SO();
20474  _tailrecursive: OMC_LABEL_UNUSED
20475 #line 20475 OMC_FILE
20476  { /* match expression */
20477  modelica_metatype tmp4_1;
20478  tmp4_1 = _ick;
20479  {
20480  modelica_metatype _i = NULL;
20481  modelica_metatype _r = NULL;
20482  modelica_metatype _c = NULL;
20483  modelica_metatype _si = NULL;
20484  modelica_metatype _sm = NULL;
20485  int tmp4;
20486  {
20487  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
20488  case 3: {
20489 
20490  /* Pattern matching succeeded */
20491 #line 151 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20492  tmp1 = _OMC_LIT91;
20493 #line 20493 OMC_FILE
20494  goto tmp3_done;
20495  }
20496  case 4: {
20497  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,2) == 0) goto tmp3_end;
20498  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
20499  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
20500  _i = tmpMeta[0];
20501  _r = tmpMeta[1];
20502  /* Pattern matching succeeded */
20503 #line 152 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20504  tmpMeta[0] = stringAppend(_OMC_LIT92,omc_NFExpression_toString(threadData, _i));
20505 #line 152 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20506  tmpMeta[1] = stringAppend(tmpMeta[0],_OMC_LIT56);
20507 #line 152 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20508  tmpMeta[2] = stringAppend(tmpMeta[1],omc_NFExpression_toString(threadData, _r));
20509 #line 152 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20510  tmpMeta[3] = stringAppend(tmpMeta[2],_OMC_LIT49);
20511 #line 152 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20512  tmp1 = tmpMeta[3];
20513 #line 20513 OMC_FILE
20514  goto tmp3_done;
20515  }
20516  case 5: {
20517  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,2,1) == 0) goto tmp3_end;
20518  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
20519  _i = tmpMeta[0];
20520  /* Pattern matching succeeded */
20521 #line 153 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20522  tmpMeta[0] = stringAppend(_OMC_LIT93,omc_NFExpression_toString(threadData, _i));
20523 #line 153 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20524  tmpMeta[1] = stringAppend(tmpMeta[0],_OMC_LIT49);
20525 #line 153 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20526  tmp1 = tmpMeta[1];
20527 #line 20527 OMC_FILE
20528  goto tmp3_done;
20529  }
20530  case 6: {
20531  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,3,2) == 0) goto tmp3_end;
20532  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
20533  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
20534  _c = tmpMeta[0];
20535  _si = tmpMeta[1];
20536  /* Pattern matching succeeded */
20537 #line 154 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20538  tmpMeta[0] = stringAppend(_OMC_LIT94,omc_NFExpression_toString(threadData, _c));
20539 #line 154 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20540  tmpMeta[1] = stringAppend(tmpMeta[0],_OMC_LIT56);
20541 #line 154 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20542  tmpMeta[2] = stringAppend(tmpMeta[1],omc_NFExpression_toString(threadData, _si));
20543 #line 154 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20544  tmpMeta[3] = stringAppend(tmpMeta[2],_OMC_LIT49);
20545 #line 154 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20546  tmp1 = tmpMeta[3];
20547 #line 20547 OMC_FILE
20548  goto tmp3_done;
20549  }
20550  case 7: {
20551  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,4,2) == 0) goto tmp3_end;
20552  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
20553  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
20554  _c = tmpMeta[0];
20555  _sm = tmpMeta[1];
20556  /* Pattern matching succeeded */
20557 #line 155 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20558  tmpMeta[0] = stringAppend(_OMC_LIT95,omc_NFExpression_toString(threadData, _c));
20559 #line 155 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20560  tmpMeta[1] = stringAppend(tmpMeta[0],_OMC_LIT56);
20561 #line 155 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20562  tmpMeta[2] = stringAppend(tmpMeta[1],omc_NFExpression_toString(threadData, _sm));
20563 #line 155 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20564  tmpMeta[3] = stringAppend(tmpMeta[2],_OMC_LIT49);
20565 #line 155 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20566  tmp1 = tmpMeta[3];
20567 #line 20567 OMC_FILE
20568  goto tmp3_done;
20569  }
20570  }
20571  goto tmp3_end;
20572  tmp3_end: ;
20573  }
20574  goto goto_2;
20575  goto_2:;
20576  MMC_THROW_INTERNAL();
20577  goto tmp3_done;
20578  tmp3_done:;
20579  }
20580  }
20581  _ock = tmp1;
20582  _return: OMC_LABEL_UNUSED
20583  return _ock;
20584 }
modelica_metatype modelica_string
modelica_string stringAppend(modelica_string s1, modelica_string s2)
DLLExport modelica_string omc_NFExpression_toString(threadData_t *threadData, modelica_metatype _exp)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_compare()

DLLExport modelica_integer omc_NFExpression_compare ( threadData_t threadData,
modelica_metatype  _exp1,
modelica_metatype  _exp2 
)

Definition at line 18897 of file NFExpression.c.

18898 {
18899  modelica_integer _comp;
18900  modelica_integer tmp1 = 0;
18901  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
18902  MMC_SO();
18903  _tailrecursive: OMC_LABEL_UNUSED
18904 #line 417 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18905  if(referenceEq(_exp1, _exp2))
18906 #line 417 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18907  {
18908 #line 418 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18909  _comp = ((modelica_integer) 0);
18910 #line 18910 OMC_FILE
18911 
18912 #line 419 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18913  goto _return;
18914 #line 18914 OMC_FILE
18915  }
18916 
18917 #line 423 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18918  _comp = omc_Util_intCompare(threadData, valueConstructor(_exp1), valueConstructor(_exp2));
18919 #line 18919 OMC_FILE
18920 
18921 #line 424 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18922  if(((modelica_integer)_comp != ((modelica_integer) 0)))
18923 #line 424 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18924  {
18925 #line 425 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18926  goto _return;
18927 #line 18927 OMC_FILE
18928  }
18929 
18930 #line 18930 OMC_FILE
18931  { /* match expression */
18932  modelica_metatype tmp4_1;
18933  tmp4_1 = _exp1;
18934  {
18935  modelica_integer _i;
18936  modelica_real _r;
18937  modelica_string _s = NULL;
18938  modelica_boolean _b;
18939  modelica_metatype _cr = NULL;
18940  modelica_metatype _ty = NULL;
18941  modelica_metatype _expl = NULL;
18942  modelica_metatype _e1 = NULL;
18943  modelica_metatype _e2 = NULL;
18944  modelica_metatype _e3 = NULL;
18945  modelica_metatype _oe = NULL;
18946  modelica_metatype _p = NULL;
18947  modelica_metatype _op = NULL;
18948  modelica_metatype _c = NULL;
18949  modelica_metatype _subs = NULL;
18950  modelica_metatype _clk1 = NULL;
18951  modelica_metatype _clk2 = NULL;
18952  modelica_metatype _me = NULL;
18953  int tmp4;
18954  {
18955  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
18956  case 3: {
18957  modelica_integer tmp5;
18958 
18959  /* Pattern matching succeeded */
18960 #line 448 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18961  /* Pattern-matching assignment */
18962 #line 448 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18963  tmpMeta[0] = _exp2;
18964 #line 448 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18965  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,1) == 0) goto goto_2;
18966 #line 448 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18967  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
18968 #line 448 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18969  tmp5 = mmc_unbox_integer(tmpMeta[1]);
18970 #line 448 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18971  _i = tmp5 /* pattern as ty=Integer */;
18972 #line 18972 OMC_FILE
18973 #line 449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18974  tmp1 = omc_Util_intCompare(threadData, mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2)))), (modelica_integer)_i);
18975 #line 18975 OMC_FILE
18976  goto tmp3_done;
18977  }
18978  case 4: {
18979  modelica_real tmp6;
18980 
18981  /* Pattern matching succeeded */
18982 #line 454 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18983  /* Pattern-matching assignment */
18984 #line 454 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18985  tmpMeta[0] = _exp2;
18986 #line 454 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18987  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],1,1) == 0) goto goto_2;
18988 #line 454 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18989  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
18990 #line 454 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18991  tmp6 = mmc_unbox_real(tmpMeta[1]);
18992 #line 454 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18993  _r = tmp6 /* pattern as ty=Real */;
18994 #line 18994 OMC_FILE
18995 #line 455 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18996  tmp1 = omc_Util_realCompare(threadData, mmc_unbox_real((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2)))), _r);
18997 #line 18997 OMC_FILE
18998  goto tmp3_done;
18999  }
19000  case 5: {
19001 
19002  /* Pattern matching succeeded */
19003 #line 460 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19004  /* Pattern-matching assignment */
19005 #line 460 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19006  tmpMeta[0] = _exp2;
19007 #line 460 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19008  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],2,1) == 0) goto goto_2;
19009 #line 460 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19010  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
19011 #line 460 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19012  _s = tmpMeta[1];
19013 #line 19013 OMC_FILE
19014 #line 461 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19015  tmp1 = stringCompare((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2))), _s);
19016 #line 19016 OMC_FILE
19017  goto tmp3_done;
19018  }
19019  case 6: {
19020  modelica_integer tmp7;
19021 
19022  /* Pattern matching succeeded */
19023 #line 466 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19024  /* Pattern-matching assignment */
19025 #line 466 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19026  tmpMeta[0] = _exp2;
19027 #line 466 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19028  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],3,1) == 0) goto goto_2;
19029 #line 466 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19030  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
19031 #line 466 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19032  tmp7 = mmc_unbox_integer(tmpMeta[1]);
19033 #line 466 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19034  _b = tmp7 /* pattern as ty=Boolean */;
19035 #line 19035 OMC_FILE
19036 #line 467 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19037  tmp1 = omc_Util_boolCompare(threadData, mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2)))), _b);
19038 #line 19038 OMC_FILE
19039  goto tmp3_done;
19040  }
19041  case 7: {
19042  modelica_integer tmp8;
19043 
19044  /* Pattern matching succeeded */
19045 #line 472 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19046  /* Pattern-matching assignment */
19047 #line 472 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19048  tmpMeta[0] = _exp2;
19049 #line 472 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19050  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],4,3) == 0) goto goto_2;
19051 #line 472 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19052  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
19053 #line 472 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19054  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4));
19055 #line 472 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19056  tmp8 = mmc_unbox_integer(tmpMeta[2]);
19057 #line 472 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19058  _ty = tmpMeta[1];
19059 #line 472 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19060  _i = tmp8 /* pattern as ty=Integer */;
19061 #line 19061 OMC_FILE
19062 
19063 #line 473 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19064  _comp = omc_Absyn_pathCompare(threadData, omc_NFType_enumName(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2)))), omc_NFType_enumName(threadData, _ty));
19065 #line 19065 OMC_FILE
19066 
19067 #line 475 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19068  if(((modelica_integer)_comp == ((modelica_integer) 0)))
19069 #line 475 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19070  {
19071 #line 476 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19072  _comp = omc_Util_intCompare(threadData, mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 4)))), (modelica_integer)_i);
19073 #line 19073 OMC_FILE
19074  }
19075 #line 478 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19076  tmp1 = (modelica_integer)_comp;
19077 #line 19077 OMC_FILE
19078  goto tmp3_done;
19079  }
19080  case 32: {
19081  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,29,1) == 0) goto tmp3_end;
19082  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
19083  _clk1 = tmpMeta[0];
19084  /* Pattern matching succeeded */
19085 #line 483 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19086  /* Pattern-matching assignment */
19087 #line 483 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19088  tmpMeta[0] = _exp2;
19089 #line 483 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19090  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],29,1) == 0) goto goto_2;
19091 #line 483 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19092  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
19093 #line 483 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19094  _clk2 = tmpMeta[1];
19095 #line 19095 OMC_FILE
19096 #line 484 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19097  tmp1 = omc_NFExpression_ClockKind_compare(threadData, _clk1, _clk2);
19098 #line 19098 OMC_FILE
19099  goto tmp3_done;
19100  }
19101  case 8: {
19102 
19103  /* Pattern matching succeeded */
19104 #line 489 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19105  /* Pattern-matching assignment */
19106 #line 489 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19107  tmpMeta[0] = _exp2;
19108 #line 489 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19109  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],5,2) == 0) goto goto_2;
19110 #line 489 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19111  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
19112 #line 489 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19113  _cr = tmpMeta[1];
19114 #line 19114 OMC_FILE
19115 #line 490 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19116  tmp1 = omc_NFComponentRef_compare(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 3))), _cr);
19117 #line 19117 OMC_FILE
19118  goto tmp3_done;
19119  }
19120  case 9: {
19121 
19122  /* Pattern matching succeeded */
19123 #line 495 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19124  /* Pattern-matching assignment */
19125 #line 495 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19126  tmpMeta[0] = _exp2;
19127 #line 495 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19128  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],6,1) == 0) goto goto_2;
19129 #line 495 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19130  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
19131 #line 495 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19132  _ty = tmpMeta[1];
19133 #line 19133 OMC_FILE
19134 #line 496 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19135  tmp1 = valueCompare((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2))), _ty);
19136 #line 19136 OMC_FILE
19137  goto tmp3_done;
19138  }
19139  case 10: {
19140 
19141  /* Pattern matching succeeded */
19142 #line 501 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19143  /* Pattern-matching assignment */
19144 #line 501 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19145  tmpMeta[0] = _exp2;
19146 #line 501 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19147  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],7,3) == 0) goto goto_2;
19148 #line 501 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19149  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
19150 #line 501 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19151  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
19152 #line 501 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19153  _ty = tmpMeta[1];
19154 #line 501 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19155  _expl = tmpMeta[2];
19156 #line 19156 OMC_FILE
19157 
19158 #line 502 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19159  _comp = valueCompare(_ty, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2))));
19160 #line 19160 OMC_FILE
19161 #line 503 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19162  tmp1 = (((modelica_integer)_comp == ((modelica_integer) 0))?omc_NFExpression_compareList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 3))), _expl):(modelica_integer)_comp);
19163 #line 19163 OMC_FILE
19164  goto tmp3_done;
19165  }
19166  case 12: {
19167 
19168  /* Pattern matching succeeded */
19169 #line 508 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19170  /* Pattern-matching assignment */
19171 #line 508 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19172  tmpMeta[0] = _exp2;
19173 #line 508 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19174  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],9,4) == 0) goto goto_2;
19175 #line 508 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19176  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
19177 #line 508 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19178  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4));
19179 #line 508 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19180  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 5));
19181 #line 508 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19182  _e1 = tmpMeta[1];
19183 #line 508 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19184  _oe = tmpMeta[2];
19185 #line 508 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19186  _e2 = tmpMeta[3];
19187 #line 19187 OMC_FILE
19188 
19189 #line 509 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19190  _comp = omc_NFExpression_compare(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 3))), _e1);
19191 #line 19191 OMC_FILE
19192 
19193 #line 510 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19194  if(((modelica_integer)_comp == ((modelica_integer) 0)))
19195 #line 510 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19196  {
19197 #line 511 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19198  _comp = omc_NFExpression_compare(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 5))), _e2);
19199 #line 19199 OMC_FILE
19200 
19201 #line 512 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19202  if(((modelica_integer)_comp == ((modelica_integer) 0)))
19203 #line 512 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19204  {
19205 #line 513 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19206  _comp = omc_NFExpression_compareOpt(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 4))), _oe);
19207 #line 19207 OMC_FILE
19208  }
19209  }
19210 #line 516 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19211  tmp1 = (modelica_integer)_comp;
19212 #line 19212 OMC_FILE
19213  goto tmp3_done;
19214  }
19215  case 13: {
19216 
19217  /* Pattern matching succeeded */
19218 #line 521 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19219  /* Pattern-matching assignment */
19220 #line 521 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19221  tmpMeta[0] = _exp2;
19222 #line 521 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19223  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],10,2) == 0) goto goto_2;
19224 #line 521 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19225  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
19226 #line 521 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19227  _expl = tmpMeta[1];
19228 #line 19228 OMC_FILE
19229 #line 522 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19230  tmp1 = omc_NFExpression_compareList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 3))), _expl);
19231 #line 19231 OMC_FILE
19232  goto tmp3_done;
19233  }
19234  case 14: {
19235 
19236  /* Pattern matching succeeded */
19237 #line 527 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19238  /* Pattern-matching assignment */
19239 #line 527 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19240  tmpMeta[0] = _exp2;
19241 #line 527 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19242  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],11,3) == 0) goto goto_2;
19243 #line 527 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19244  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
19245 #line 527 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19246  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4));
19247 #line 527 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19248  _p = tmpMeta[1];
19249 #line 527 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19250  _expl = tmpMeta[2];
19251 #line 19251 OMC_FILE
19252 
19253 #line 528 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19254  _comp = omc_Absyn_pathCompare(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2))), _p);
19255 #line 19255 OMC_FILE
19256 #line 529 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19257  tmp1 = (((modelica_integer)_comp == ((modelica_integer) 0))?omc_NFExpression_compareList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 4))), _expl):(modelica_integer)_comp);
19258 #line 19258 OMC_FILE
19259  goto tmp3_done;
19260  }
19261  case 15: {
19262 
19263  /* Pattern matching succeeded */
19264 #line 534 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19265  /* Pattern-matching assignment */
19266 #line 534 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19267  tmpMeta[0] = _exp2;
19268 #line 534 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19269  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],12,1) == 0) goto goto_2;
19270 #line 534 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19271  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
19272 #line 534 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19273  _c = tmpMeta[1];
19274 #line 19274 OMC_FILE
19275 #line 535 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19276  tmp1 = omc_NFCall_Call_compare(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2))), _c);
19277 #line 19277 OMC_FILE
19278  goto tmp3_done;
19279  }
19280  case 16: {
19281  modelica_boolean tmp9;
19282  modelica_integer tmp10;
19283 
19284  /* Pattern matching succeeded */
19285 #line 540 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19286  /* Pattern-matching assignment */
19287 #line 540 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19288  tmpMeta[0] = _exp2;
19289 #line 540 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19290  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],13,2) == 0) goto goto_2;
19291 #line 540 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19292  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
19293 #line 540 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19294  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
19295 #line 540 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19296  _e1 = tmpMeta[1];
19297 #line 540 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19298  _oe = tmpMeta[2];
19299 #line 19299 OMC_FILE
19300 
19301 #line 541 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19302  _comp = omc_NFExpression_compareOpt(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 3))), _oe);
19303 #line 19303 OMC_FILE
19304 #line 542 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19305  tmp9 = (modelica_boolean)((modelica_integer)_comp == ((modelica_integer) 0));
19306 #line 542 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19307  if(tmp9)
19308 #line 542 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19309  {
19310 #line 542 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19311  /* Tail recursive call */
19312 #line 542 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19313  _exp1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2)));
19314 #line 542 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19315  _exp2 = _e1;
19316 #line 542 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19317  goto _tailrecursive;
19318 #line 542 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19319  /* TODO: Make sure any eventual dead code below is never generated */
19320 #line 542 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19321  }
19322 #line 542 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19323  else
19324 #line 542 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19325  {
19326 #line 542 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19327  tmp10 = (modelica_integer)_comp;
19328 #line 542 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19329  }
19330 #line 542 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19331  tmp1 = tmp10;
19332 #line 19332 OMC_FILE
19333  goto tmp3_done;
19334  }
19335  case 17: {
19336 
19337  /* Pattern matching succeeded */
19338 #line 545 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19339  tmp1 = ((modelica_integer) 0);
19340 #line 19340 OMC_FILE
19341  goto tmp3_done;
19342  }
19343  case 18: {
19344 
19345  /* Pattern matching succeeded */
19346 #line 549 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19347  /* Pattern-matching assignment */
19348 #line 549 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19349  tmpMeta[0] = _exp2;
19350 #line 549 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19351  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],15,3) == 0) goto goto_2;
19352 #line 549 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19353  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
19354 #line 549 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19355  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
19356 #line 549 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19357  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4));
19358 #line 549 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19359  _e1 = tmpMeta[1];
19360 #line 549 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19361  _op = tmpMeta[2];
19362 #line 549 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19363  _e2 = tmpMeta[3];
19364 #line 19364 OMC_FILE
19365 
19366 #line 550 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19367  _comp = omc_NFOperator_compare(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 3))), _op);
19368 #line 19368 OMC_FILE
19369 
19370 #line 551 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19371  if(((modelica_integer)_comp == ((modelica_integer) 0)))
19372 #line 551 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19373  {
19374 #line 552 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19375  _comp = omc_NFExpression_compare(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2))), _e1);
19376 #line 19376 OMC_FILE
19377 
19378 #line 553 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19379  if(((modelica_integer)_comp == ((modelica_integer) 0)))
19380 #line 553 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19381  {
19382 #line 554 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19383  _comp = omc_NFExpression_compare(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 4))), _e2);
19384 #line 19384 OMC_FILE
19385  }
19386  }
19387 #line 557 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19388  tmp1 = (modelica_integer)_comp;
19389 #line 19389 OMC_FILE
19390  goto tmp3_done;
19391  }
19392  case 19: {
19393  modelica_boolean tmp11;
19394  modelica_integer tmp12;
19395 
19396  /* Pattern matching succeeded */
19397 #line 562 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19398  /* Pattern-matching assignment */
19399 #line 562 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19400  tmpMeta[0] = _exp2;
19401 #line 562 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19402  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],16,2) == 0) goto goto_2;
19403 #line 562 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19404  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
19405 #line 562 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19406  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
19407 #line 562 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19408  _op = tmpMeta[1];
19409 #line 562 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19410  _e1 = tmpMeta[2];
19411 #line 19411 OMC_FILE
19412 
19413 #line 563 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19414  _comp = omc_NFOperator_compare(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2))), _op);
19415 #line 19415 OMC_FILE
19416 #line 564 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19417  tmp11 = (modelica_boolean)((modelica_integer)_comp == ((modelica_integer) 0));
19418 #line 564 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19419  if(tmp11)
19420 #line 564 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19421  {
19422 #line 564 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19423  /* Tail recursive call */
19424 #line 564 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19425  _exp1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 3)));
19426 #line 564 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19427  _exp2 = _e1;
19428 #line 564 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19429  goto _tailrecursive;
19430 #line 564 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19431  /* TODO: Make sure any eventual dead code below is never generated */
19432 #line 564 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19433  }
19434 #line 564 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19435  else
19436 #line 564 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19437  {
19438 #line 564 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19439  tmp12 = (modelica_integer)_comp;
19440 #line 564 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19441  }
19442 #line 564 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19443  tmp1 = tmp12;
19444 #line 19444 OMC_FILE
19445  goto tmp3_done;
19446  }
19447  case 20: {
19448 
19449  /* Pattern matching succeeded */
19450 #line 569 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19451  /* Pattern-matching assignment */
19452 #line 569 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19453  tmpMeta[0] = _exp2;
19454 #line 569 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19455  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],17,3) == 0) goto goto_2;
19456 #line 569 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19457  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
19458 #line 569 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19459  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
19460 #line 569 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19461  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4));
19462 #line 569 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19463  _e1 = tmpMeta[1];
19464 #line 569 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19465  _op = tmpMeta[2];
19466 #line 569 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19467  _e2 = tmpMeta[3];
19468 #line 19468 OMC_FILE
19469 
19470 #line 570 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19471  _comp = omc_NFOperator_compare(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 3))), _op);
19472 #line 19472 OMC_FILE
19473 
19474 #line 571 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19475  if(((modelica_integer)_comp == ((modelica_integer) 0)))
19476 #line 571 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19477  {
19478 #line 572 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19479  _comp = omc_NFExpression_compare(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2))), _e1);
19480 #line 19480 OMC_FILE
19481 
19482 #line 573 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19483  if(((modelica_integer)_comp == ((modelica_integer) 0)))
19484 #line 573 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19485  {
19486 #line 574 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19487  _comp = omc_NFExpression_compare(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 4))), _e2);
19488 #line 19488 OMC_FILE
19489  }
19490  }
19491 #line 577 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19492  tmp1 = (modelica_integer)_comp;
19493 #line 19493 OMC_FILE
19494  goto tmp3_done;
19495  }
19496  case 21: {
19497  modelica_boolean tmp13;
19498  modelica_integer tmp14;
19499 
19500  /* Pattern matching succeeded */
19501 #line 582 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19502  /* Pattern-matching assignment */
19503 #line 582 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19504  tmpMeta[0] = _exp2;
19505 #line 582 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19506  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],18,2) == 0) goto goto_2;
19507 #line 582 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19508  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
19509 #line 582 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19510  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
19511 #line 582 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19512  _op = tmpMeta[1];
19513 #line 582 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19514  _e1 = tmpMeta[2];
19515 #line 19515 OMC_FILE
19516 
19517 #line 583 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19518  _comp = omc_NFOperator_compare(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2))), _op);
19519 #line 19519 OMC_FILE
19520 #line 584 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19521  tmp13 = (modelica_boolean)((modelica_integer)_comp == ((modelica_integer) 0));
19522 #line 584 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19523  if(tmp13)
19524 #line 584 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19525  {
19526 #line 584 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19527  /* Tail recursive call */
19528 #line 584 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19529  _exp1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 3)));
19530 #line 584 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19531  _exp2 = _e1;
19532 #line 584 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19533  goto _tailrecursive;
19534 #line 584 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19535  /* TODO: Make sure any eventual dead code below is never generated */
19536 #line 584 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19537  }
19538 #line 584 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19539  else
19540 #line 584 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19541  {
19542 #line 584 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19543  tmp14 = (modelica_integer)_comp;
19544 #line 584 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19545  }
19546 #line 584 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19547  tmp1 = tmp14;
19548 #line 19548 OMC_FILE
19549  goto tmp3_done;
19550  }
19551  case 22: {
19552 
19553  /* Pattern matching succeeded */
19554 #line 589 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19555  /* Pattern-matching assignment */
19556 #line 589 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19557  tmpMeta[0] = _exp2;
19558 #line 589 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19559  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],19,3) == 0) goto goto_2;
19560 #line 589 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19561  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
19562 #line 589 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19563  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
19564 #line 589 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19565  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4));
19566 #line 589 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19567  _e1 = tmpMeta[1];
19568 #line 589 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19569  _op = tmpMeta[2];
19570 #line 589 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19571  _e2 = tmpMeta[3];
19572 #line 19572 OMC_FILE
19573 
19574 #line 590 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19575  _comp = omc_NFOperator_compare(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 3))), _op);
19576 #line 19576 OMC_FILE
19577 
19578 #line 591 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19579  if(((modelica_integer)_comp == ((modelica_integer) 0)))
19580 #line 591 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19581  {
19582 #line 592 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19583  _comp = omc_NFExpression_compare(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2))), _e1);
19584 #line 19584 OMC_FILE
19585 
19586 #line 593 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19587  if(((modelica_integer)_comp == ((modelica_integer) 0)))
19588 #line 593 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19589  {
19590 #line 594 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19591  _comp = omc_NFExpression_compare(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 4))), _e2);
19592 #line 19592 OMC_FILE
19593  }
19594  }
19595 #line 597 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19596  tmp1 = (modelica_integer)_comp;
19597 #line 19597 OMC_FILE
19598  goto tmp3_done;
19599  }
19600  case 23: {
19601 
19602  /* Pattern matching succeeded */
19603 #line 602 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19604  /* Pattern-matching assignment */
19605 #line 602 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19606  tmpMeta[0] = _exp2;
19607 #line 602 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19608  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],20,3) == 0) goto goto_2;
19609 #line 602 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19610  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
19611 #line 602 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19612  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
19613 #line 602 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19614  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4));
19615 #line 602 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19616  _e1 = tmpMeta[1];
19617 #line 602 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19618  _e2 = tmpMeta[2];
19619 #line 602 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19620  _e3 = tmpMeta[3];
19621 #line 19621 OMC_FILE
19622 
19623 #line 603 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19624  _comp = omc_NFExpression_compare(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2))), _e1);
19625 #line 19625 OMC_FILE
19626 
19627 #line 604 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19628  if(((modelica_integer)_comp == ((modelica_integer) 0)))
19629 #line 604 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19630  {
19631 #line 605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19632  _comp = omc_NFExpression_compare(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 3))), _e2);
19633 #line 19633 OMC_FILE
19634 
19635 #line 606 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19636  if(((modelica_integer)_comp == ((modelica_integer) 0)))
19637 #line 606 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19638  {
19639 #line 607 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19640  _comp = omc_NFExpression_compare(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 4))), _e3);
19641 #line 19641 OMC_FILE
19642  }
19643  }
19644 #line 610 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19645  tmp1 = (modelica_integer)_comp;
19646 #line 19646 OMC_FILE
19647  goto tmp3_done;
19648  }
19649  case 25: {
19650 
19651  /* Pattern matching succeeded */
19652 #line 615 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19653  /* Pattern-matching assignment */
19654 #line 615 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19655  tmpMeta[0] = _exp2;
19656 #line 615 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19657  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],22,2) == 0) goto goto_2;
19658 #line 615 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19659  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
19660 #line 615 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19661  _e1 = tmpMeta[1];
19662 #line 19662 OMC_FILE
19663 #line 616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19664  /* Tail recursive call */
19665 #line 616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19666  _exp1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2)));
19667 #line 616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19668  _exp2 = _e1;
19669 #line 616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19670  goto _tailrecursive;
19671 #line 616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19672  /* TODO: Make sure any eventual dead code below is never generated */
19673 #line 19673 OMC_FILE
19674  goto tmp3_done;
19675  }
19676  case 24: {
19677 
19678  /* Pattern matching succeeded */
19679 #line 19679 OMC_FILE
19680  { /* match expression */
19681  modelica_metatype tmp17_1;
19682  tmp17_1 = _exp2;
19683  {
19684  volatile mmc_switch_type tmp17;
19685  int tmp18;
19686  tmp17 = 0;
19687  for (; tmp17 < 2; tmp17++) {
19688  switch (MMC_SWITCH_CAST(tmp17)) {
19689  case 0: {
19690  if (mmc__uniontype__metarecord__typedef__equal(tmp17_1,21,2) == 0) goto tmp16_end;
19691  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp17_1), 3));
19692  _e1 = tmpMeta[1];
19693  /* Pattern matching succeeded */
19694 #line 622 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19695  tmpMeta[0] = _e1;
19696 #line 19696 OMC_FILE
19697  goto tmp16_done;
19698  }
19699  case 1: {
19700 
19701  _e1 = tmp17_1;
19702  /* Pattern matching succeeded */
19703 #line 623 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19704  tmpMeta[0] = _e1;
19705 #line 19705 OMC_FILE
19706  goto tmp16_done;
19707  }
19708  }
19709  goto tmp16_end;
19710  tmp16_end: ;
19711  }
19712  goto goto_15;
19713  goto_15:;
19714  goto goto_2;
19715  goto tmp16_done;
19716  tmp16_done:;
19717  }
19718  }
19719  _e1 = tmpMeta[0];
19720 #line 625 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19721  /* Tail recursive call */
19722 #line 625 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19723  _exp1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 3)));
19724 #line 625 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19725  _exp2 = _e1;
19726 #line 625 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19727  goto _tailrecursive;
19728 #line 625 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19729  /* TODO: Make sure any eventual dead code below is never generated */
19730 #line 19730 OMC_FILE
19731  goto tmp3_done;
19732  }
19733  case 26: {
19734 
19735  /* Pattern matching succeeded */
19736 #line 630 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19737  /* Pattern-matching assignment */
19738 #line 630 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19739  tmpMeta[0] = _exp2;
19740 #line 630 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19741  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],23,3) == 0) goto goto_2;
19742 #line 630 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19743  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
19744 #line 630 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19745  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
19746 #line 630 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19747  _e1 = tmpMeta[1];
19748 #line 630 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19749  _subs = tmpMeta[2];
19750 #line 19750 OMC_FILE
19751 
19752 #line 631 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19753  _comp = omc_NFExpression_compare(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2))), _e1);
19754 #line 19754 OMC_FILE
19755 
19756 #line 633 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19757  if(((modelica_integer)_comp == ((modelica_integer) 0)))
19758 #line 633 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19759  {
19760 #line 634 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19761  _comp = omc_NFSubscript_compareList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 3))), _subs);
19762 #line 19762 OMC_FILE
19763  }
19764 #line 636 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19765  tmp1 = (modelica_integer)_comp;
19766 #line 19766 OMC_FILE
19767  goto tmp3_done;
19768  }
19769  case 27: {
19770  modelica_integer tmp19;
19771 
19772  /* Pattern matching succeeded */
19773 #line 641 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19774  /* Pattern-matching assignment */
19775 #line 641 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19776  tmpMeta[0] = _exp2;
19777 #line 641 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19778  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],24,3) == 0) goto goto_2;
19779 #line 641 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19780  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
19781 #line 641 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19782  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
19783 #line 641 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19784  tmp19 = mmc_unbox_integer(tmpMeta[2]);
19785 #line 641 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19786  _e1 = tmpMeta[1];
19787 #line 641 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19788  _i = tmp19 /* pattern as ty=Integer */;
19789 #line 19789 OMC_FILE
19790 
19791 #line 642 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19792  _comp = omc_Util_intCompare(threadData, mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 3)))), (modelica_integer)_i);
19793 #line 19793 OMC_FILE
19794 
19795 #line 644 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19796  if(((modelica_integer)_comp == ((modelica_integer) 0)))
19797 #line 644 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19798  {
19799 #line 645 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19800  _comp = omc_NFExpression_compare(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2))), _e1);
19801 #line 19801 OMC_FILE
19802  }
19803 #line 647 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19804  tmp1 = (modelica_integer)_comp;
19805 #line 19805 OMC_FILE
19806  goto tmp3_done;
19807  }
19808  case 28: {
19809  modelica_integer tmp20;
19810 
19811  /* Pattern matching succeeded */
19812 #line 652 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19813  /* Pattern-matching assignment */
19814 #line 652 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19815  tmpMeta[0] = _exp2;
19816 #line 652 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19817  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],25,4) == 0) goto goto_2;
19818 #line 652 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19819  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
19820 #line 652 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19821  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
19822 #line 652 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19823  tmp20 = mmc_unbox_integer(tmpMeta[2]);
19824 #line 652 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19825  _e1 = tmpMeta[1];
19826 #line 652 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19827  _i = tmp20 /* pattern as ty=Integer */;
19828 #line 19828 OMC_FILE
19829 
19830 #line 653 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19831  _comp = omc_Util_intCompare(threadData, mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 3)))), (modelica_integer)_i);
19832 #line 19832 OMC_FILE
19833 
19834 #line 655 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19835  if(((modelica_integer)_comp == ((modelica_integer) 0)))
19836 #line 655 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19837  {
19838 #line 656 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19839  _comp = omc_NFExpression_compare(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2))), _e1);
19840 #line 19840 OMC_FILE
19841  }
19842 #line 658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19843  tmp1 = (modelica_integer)_comp;
19844 #line 19844 OMC_FILE
19845  goto tmp3_done;
19846  }
19847  case 33: {
19848 
19849  /* Pattern matching succeeded */
19850 #line 663 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19851  /* Pattern-matching assignment */
19852 #line 663 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19853  tmpMeta[0] = _exp2;
19854 #line 663 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19855  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],30,4) == 0) goto goto_2;
19856 #line 663 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19857  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
19858 #line 663 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19859  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
19860 #line 663 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19861  _cr = tmpMeta[1];
19862 #line 663 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19863  _expl = tmpMeta[2];
19864 #line 19864 OMC_FILE
19865 
19866 #line 664 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19867  _comp = omc_NFComponentRef_compare(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2))), _cr);
19868 #line 19868 OMC_FILE
19869 
19870 #line 666 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19871  if(((modelica_integer)_comp == ((modelica_integer) 0)))
19872 #line 666 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19873  {
19874 #line 667 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19875  _comp = omc_NFExpression_compareList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 3))), _expl);
19876 #line 19876 OMC_FILE
19877  }
19878 #line 669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19879  tmp1 = (modelica_integer)_comp;
19880 #line 19880 OMC_FILE
19881  goto tmp3_done;
19882  }
19883  case 29: {
19884 
19885  /* Pattern matching succeeded */
19886 #line 674 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19887  /* Pattern-matching assignment */
19888 #line 674 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19889  tmpMeta[0] = _exp2;
19890 #line 674 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19891  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],26,1) == 0) goto goto_2;
19892 #line 674 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19893  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
19894 #line 674 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19895  _e2 = tmpMeta[1];
19896 #line 19896 OMC_FILE
19897 #line 675 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19898  /* Tail recursive call */
19899 #line 675 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19900  _exp1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2)));
19901 #line 675 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19902  _exp2 = _e2;
19903 #line 675 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19904  goto _tailrecursive;
19905 #line 675 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19906  /* TODO: Make sure any eventual dead code below is never generated */
19907 #line 19907 OMC_FILE
19908  goto tmp3_done;
19909  }
19910  case 30: {
19911 
19912  /* Pattern matching succeeded */
19913 #line 680 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19914  /* Pattern-matching assignment */
19915 #line 680 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19916  tmpMeta[0] = _exp2;
19917 #line 680 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19918  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],27,1) == 0) goto goto_2;
19919 #line 680 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19920  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
19921 #line 680 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19922  _me = tmpMeta[1];
19923 #line 19923 OMC_FILE
19924 #line 681 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19925  /* Tail recursive call */
19926 #line 681 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19927  _exp1 = omc_Mutable_access(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2))));
19928 #line 681 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19929  _exp2 = omc_Mutable_access(threadData, _me);
19930 #line 681 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19931  goto _tailrecursive;
19932 #line 681 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19933  /* TODO: Make sure any eventual dead code below is never generated */
19934 #line 19934 OMC_FILE
19935  goto tmp3_done;
19936  }
19937  case 31: {
19938 
19939  /* Pattern matching succeeded */
19940 #line 686 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19941  /* Pattern-matching assignment */
19942 #line 686 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19943  tmpMeta[0] = _exp2;
19944 #line 686 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19945  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],28,1) == 0) goto goto_2;
19946 #line 686 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19947  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
19948 #line 686 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19949  _ty = tmpMeta[1];
19950 #line 19950 OMC_FILE
19951 #line 687 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19952  tmp1 = valueCompare((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp1), 2))), _ty);
19953 #line 19953 OMC_FILE
19954  goto tmp3_done;
19955  }
19956  default:
19957  tmp3_default: OMC_LABEL_UNUSED; {
19958 
19959  /* Pattern matching succeeded */
19960 #line 692 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19961  omc_Error_assertion(threadData, 0, _OMC_LIT89, _OMC_LIT90);
19962 #line 19962 OMC_FILE
19963 #line 693 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19964  goto goto_2;
19965 #line 19965 OMC_FILE
19966  goto tmp3_done;
19967  }
19968  }
19969  goto tmp3_end;
19970  tmp3_end: ;
19971  }
19972  goto goto_2;
19973  goto_2:;
19974  MMC_THROW_INTERNAL();
19975  goto tmp3_done;
19976  tmp3_done:;
19977  }
19978  }
19979  _comp = tmp1;
19980  _return: OMC_LABEL_UNUSED
19981  return _comp;
19982 }
DLLExport modelica_integer omc_NFOperator_compare(threadData_t *threadData, modelica_metatype _op1, modelica_metatype _op2)
Definition: NFOperator.c:2263
double modelica_real
modelica_metatype modelica_string
m_integer modelica_integer
signed char modelica_boolean
modelica_metatype omc_Mutable_access(threadData_t *threadData, modelica_metatype _mutable)
Definition: Mutable.c:13
float mmc_switch_type
DLLExport modelica_integer omc_Util_intCompare(threadData_t *threadData, modelica_integer _inN, modelica_integer _inM)
Definition: Util.c:3387
DLLExport modelica_integer omc_Util_realCompare(threadData_t *threadData, modelica_real _inN, modelica_real _inM)
Definition: Util.c:3310
DLLExport modelica_metatype omc_NFType_enumName(threadData_t *threadData, modelica_metatype _ty)
Definition: NFType.c:299
DLLExport void omc_Error_assertion(threadData_t *threadData, modelica_boolean _b, modelica_string _message, modelica_metatype _info)
Definition: Error.c:325
DLLExport modelica_integer omc_NFExpression_compare(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _exp2)
DLLExport modelica_integer omc_NFExpression_compareOpt(threadData_t *threadData, modelica_metatype _expl1, modelica_metatype _expl2)
DLLExport modelica_integer omc_NFExpression_ClockKind_compare(threadData_t *threadData, modelica_metatype _ck1, modelica_metatype _ck2)
DLLExport modelica_integer omc_NFComponentRef_compare(threadData_t *threadData, modelica_metatype _cref1, modelica_metatype _cref2)
DLLExport modelica_integer omc_NFSubscript_compareList(threadData_t *threadData, modelica_metatype _subscripts1, modelica_metatype _subscripts2)
Definition: NFSubscript.c:2266
DLLExport modelica_integer omc_Absyn_pathCompare(threadData_t *threadData, modelica_metatype _ip1, modelica_metatype _ip2)
Definition: Absyn.c:16507
DLLExport modelica_integer omc_Util_boolCompare(threadData_t *threadData, modelica_boolean _inN, modelica_boolean _inM)
Definition: Util.c:3287
modelica_integer valueCompare(modelica_metatype lhs, modelica_metatype rhs)
void * modelica_metatype
DLLExport modelica_integer omc_NFCall_Call_compare(threadData_t *threadData, modelica_metatype _call1, modelica_metatype _call2)
Definition: NFCall.c:4429
DLLExport modelica_integer omc_NFExpression_compareList(threadData_t *threadData, modelica_metatype _expl1, modelica_metatype _expl2)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_compareList()

DLLExport modelica_integer omc_NFExpression_compareList ( threadData_t threadData,
modelica_metatype  _expl1,
modelica_metatype  _expl2 
)

Definition at line 18733 of file NFExpression.c.

18734 {
18735  modelica_integer _comp;
18736  modelica_metatype _e2 = NULL;
18737  modelica_metatype _rest_expl2 = NULL;
18738  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
18739  MMC_SO();
18740  _tailrecursive: OMC_LABEL_UNUSED
18741  _rest_expl2 = _expl2;
18742 #line 723 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18743  _comp = omc_Util_intCompare(threadData, listLength(_expl1), listLength(_expl2));
18744 #line 18744 OMC_FILE
18745 
18746 #line 724 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18747  if(((modelica_integer)_comp != ((modelica_integer) 0)))
18748 #line 724 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18749  {
18750 #line 725 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18751  goto _return;
18752 #line 18752 OMC_FILE
18753  }
18754 
18755 #line 728 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18756  {
18757 #line 728 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18758  modelica_metatype _e1;
18759 #line 728 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18760  for (tmpMeta[0] = _expl1; !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
18761 #line 728 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18762  {
18763 #line 728 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18764  _e1 = MMC_CAR(tmpMeta[0]);
18765 #line 729 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18766  /* Pattern-matching assignment */
18767 #line 729 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18768  tmpMeta[1] = _rest_expl2;
18769 #line 729 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18770  if (listEmpty(tmpMeta[1])) MMC_THROW_INTERNAL();
18771 #line 729 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18772  tmpMeta[2] = MMC_CAR(tmpMeta[1]);
18773 #line 729 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18774  tmpMeta[3] = MMC_CDR(tmpMeta[1]);
18775 #line 729 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18776  _e2 = tmpMeta[2];
18777 #line 729 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18778  _rest_expl2 = tmpMeta[3];
18779 #line 18779 OMC_FILE
18780 
18781 #line 730 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18782  _comp = omc_NFExpression_compare(threadData, _e1, _e2);
18783 #line 18783 OMC_FILE
18784 
18785 #line 733 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18786  if(((modelica_integer)_comp != ((modelica_integer) 0)))
18787 #line 733 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18788  {
18789 #line 734 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18790  goto _return;
18791 #line 18791 OMC_FILE
18792  }
18793  }
18794  }
18795 
18796 #line 738 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18797  _comp = ((modelica_integer) 0);
18798 #line 18798 OMC_FILE
18799  _return: OMC_LABEL_UNUSED
18800  return _comp;
18801 }
m_integer modelica_integer
DLLExport modelica_integer omc_Util_intCompare(threadData_t *threadData, modelica_integer _inN, modelica_integer _inM)
Definition: Util.c:3387
DLLExport modelica_integer omc_NFExpression_compare(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _exp2)
void * modelica_metatype
modelica_integer listLength(modelica_metatype)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_compareOpt()

DLLExport modelica_integer omc_NFExpression_compareOpt ( threadData_t threadData,
modelica_metatype  _expl1,
modelica_metatype  _expl2 
)

Definition at line 18812 of file NFExpression.c.

18813 {
18814  modelica_integer _comp;
18815  modelica_metatype _e1 = NULL;
18816  modelica_metatype _e2 = NULL;
18817  modelica_integer tmp1 = 0;
18818  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
18819  MMC_SO();
18820  _tailrecursive: OMC_LABEL_UNUSED
18821 #line 18821 OMC_FILE
18822  { /* match expression */
18823  modelica_metatype tmp4_1;modelica_metatype tmp4_2;
18824  tmp4_1 = _expl1;
18825  tmp4_2 = _expl2;
18826  {
18827  volatile mmc_switch_type tmp4;
18828  int tmp5;
18829  tmp4 = 0;
18830  for (; tmp4 < 4; tmp4++) {
18831  switch (MMC_SWITCH_CAST(tmp4)) {
18832  case 0: {
18833  if (!optionNone(tmp4_1)) goto tmp3_end;
18834  if (!optionNone(tmp4_2)) goto tmp3_end;
18835  /* Pattern matching succeeded */
18836 #line 707 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18837  tmp1 = ((modelica_integer) 0);
18838 #line 18838 OMC_FILE
18839  goto tmp3_done;
18840  }
18841  case 1: {
18842  if (!optionNone(tmp4_1)) goto tmp3_end;
18843 
18844  /* Pattern matching succeeded */
18845 #line 708 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18846  tmp1 = ((modelica_integer) -1);
18847 #line 18847 OMC_FILE
18848  goto tmp3_done;
18849  }
18850  case 2: {
18851  if (!optionNone(tmp4_2)) goto tmp3_end;
18852 
18853  /* Pattern matching succeeded */
18854 #line 709 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18855  tmp1 = ((modelica_integer) 1);
18856 #line 18856 OMC_FILE
18857  goto tmp3_done;
18858  }
18859  case 3: {
18860  if (optionNone(tmp4_1)) goto tmp3_end;
18861  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
18862  if (optionNone(tmp4_2)) goto tmp3_end;
18863  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_2), 1));
18864  _e1 = tmpMeta[0];
18865  _e2 = tmpMeta[1];
18866  /* Pattern matching succeeded */
18867 #line 710 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18868  tmp1 = omc_NFExpression_compare(threadData, _e1, _e2);
18869 #line 18869 OMC_FILE
18870  goto tmp3_done;
18871  }
18872  }
18873  goto tmp3_end;
18874  tmp3_end: ;
18875  }
18876  goto goto_2;
18877  goto_2:;
18878  MMC_THROW_INTERNAL();
18879  goto tmp3_done;
18880  tmp3_done:;
18881  }
18882  }
18883  _comp = tmp1;
18884  _return: OMC_LABEL_UNUSED
18885  return _comp;
18886 }
m_integer modelica_integer
float mmc_switch_type
DLLExport modelica_integer omc_NFExpression_compare(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _exp2)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_contains()

DLLExport modelica_boolean omc_NFExpression_contains ( threadData_t threadData,
modelica_metatype  _exp,
modelica_fnptr  _func 
)

Definition at line 4759 of file NFExpression.c.

4760 {
4761  modelica_boolean _res;
4762  modelica_boolean tmp1 = 0;
4763  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
4764  MMC_SO();
4765  _tailrecursive: OMC_LABEL_UNUSED
4766 #line 3704 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4767  if(mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _exp) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _exp)))
4768 #line 3704 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4769  {
4770 #line 3705 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4771  _res = 1;
4772 #line 4772 OMC_FILE
4773 
4774 #line 3706 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4775  goto _return;
4776 #line 4776 OMC_FILE
4777  }
4778 
4779 #line 4779 OMC_FILE
4780  { /* match expression */
4781  modelica_metatype tmp4_1;
4782  tmp4_1 = _exp;
4783  {
4784  int tmp4;
4785  {
4786  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
4787  case 8: {
4788 
4789  /* Pattern matching succeeded */
4790 #line 3713 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4791  tmp1 = omc_NFExpression_crefContains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func));
4792 #line 4792 OMC_FILE
4793  goto tmp3_done;
4794  }
4795  case 10: {
4796 
4797  /* Pattern matching succeeded */
4798 #line 3714 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4799  tmp1 = omc_NFExpression_listContains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func));
4800 #line 4800 OMC_FILE
4801  goto tmp3_done;
4802  }
4803  case 11: {
4804 
4805  /* Pattern matching succeeded */
4806 #line 3718 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4807  _res = 0;
4808 #line 4808 OMC_FILE
4809 
4810 #line 3720 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4811  {
4812 #line 3720 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4814 #line 3720 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4815  for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))); !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
4816 #line 3720 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4817  {
4818 #line 3720 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4819  _row = MMC_CAR(tmpMeta[0]);
4820 #line 3721 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4821  if(omc_NFExpression_listContains(threadData, _row, ((modelica_fnptr) _func)))
4822 #line 3721 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4823  {
4824 #line 3722 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4825  _res = 1;
4826 #line 4826 OMC_FILE
4827 
4828 #line 3723 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4829  break;
4830 #line 4830 OMC_FILE
4831  }
4832  }
4833  }
4834 #line 3726 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4835  tmp1 = _res;
4836 #line 4836 OMC_FILE
4837  goto tmp3_done;
4838  }
4839  case 12: {
4840 
4841  /* Pattern matching succeeded */
4842 #line 3730 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4843  tmp1 = ((omc_NFExpression_contains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func)) || omc_NFExpression_containsOpt(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func))) || omc_NFExpression_contains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))), ((modelica_fnptr) _func)));
4844 #line 4844 OMC_FILE
4845  goto tmp3_done;
4846  }
4847  case 13: {
4848 
4849  /* Pattern matching succeeded */
4850 #line 3734 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4851  tmp1 = omc_NFExpression_listContains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func));
4852 #line 4852 OMC_FILE
4853  goto tmp3_done;
4854  }
4855  case 14: {
4856 
4857  /* Pattern matching succeeded */
4858 #line 3735 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4859  tmp1 = omc_NFExpression_listContains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func));
4860 #line 4860 OMC_FILE
4861  goto tmp3_done;
4862  }
4863  case 15: {
4864 
4865  /* Pattern matching succeeded */
4866 #line 3736 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4867  tmp1 = omc_NFExpression_callContains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func));
4868 #line 4868 OMC_FILE
4869  goto tmp3_done;
4870  }
4871  case 16: {
4872 
4873  /* Pattern matching succeeded */
4874 #line 3739 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4875  tmp1 = (omc_NFExpression_containsOpt(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func)) || omc_NFExpression_contains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func)));
4876 #line 4876 OMC_FILE
4877  goto tmp3_done;
4878  }
4879  case 18: {
4880 
4881  /* Pattern matching succeeded */
4882 #line 3742 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4883  tmp1 = (omc_NFExpression_contains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func)) || omc_NFExpression_contains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func)));
4884 #line 4884 OMC_FILE
4885  goto tmp3_done;
4886  }
4887  case 19: {
4888 
4889  /* Pattern matching succeeded */
4890 #line 3743 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4891  /* Tail recursive call */
4892 #line 3743 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4893  _exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
4894 #line 3743 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4895  goto _tailrecursive;
4896 #line 3743 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4897  /* TODO: Make sure any eventual dead code below is never generated */
4898 #line 4898 OMC_FILE
4899  goto tmp3_done;
4900  }
4901  case 20: {
4902 
4903  /* Pattern matching succeeded */
4904 #line 3744 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4905  tmp1 = (omc_NFExpression_contains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func)) || omc_NFExpression_contains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func)));
4906 #line 4906 OMC_FILE
4907  goto tmp3_done;
4908  }
4909  case 21: {
4910 
4911  /* Pattern matching succeeded */
4912 #line 3745 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4913  /* Tail recursive call */
4914 #line 3745 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4915  _exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
4916 #line 3745 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4917  goto _tailrecursive;
4918 #line 3745 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4919  /* TODO: Make sure any eventual dead code below is never generated */
4920 #line 4920 OMC_FILE
4921  goto tmp3_done;
4922  }
4923  case 22: {
4924 
4925  /* Pattern matching succeeded */
4926 #line 3746 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4927  tmp1 = (omc_NFExpression_contains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func)) || omc_NFExpression_contains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func)));
4928 #line 4928 OMC_FILE
4929  goto tmp3_done;
4930  }
4931  case 23: {
4932 
4933  /* Pattern matching succeeded */
4934 #line 3749 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4935  tmp1 = ((omc_NFExpression_contains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func)) || omc_NFExpression_contains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func))) || omc_NFExpression_contains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func)));
4936 #line 4936 OMC_FILE
4937  goto tmp3_done;
4938  }
4939  case 24: {
4940 
4941  /* Pattern matching succeeded */
4942 #line 3753 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4943  /* Tail recursive call */
4944 #line 3753 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4945  _exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
4946 #line 3753 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4947  goto _tailrecursive;
4948 #line 3753 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4949  /* TODO: Make sure any eventual dead code below is never generated */
4950 #line 4950 OMC_FILE
4951  goto tmp3_done;
4952  }
4953  case 25: {
4954 
4955  /* Pattern matching succeeded */
4956 #line 3754 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4957  /* Tail recursive call */
4958 #line 3754 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4959  _exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)));
4960 #line 3754 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4961  goto _tailrecursive;
4962 #line 3754 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4963  /* TODO: Make sure any eventual dead code below is never generated */
4964 #line 4964 OMC_FILE
4965  goto tmp3_done;
4966  }
4967  case 26: {
4968 
4969  /* Pattern matching succeeded */
4970 #line 3757 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4971  tmp1 = (omc_NFExpression_contains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func)) || omc_NFSubscript_listContainsExp(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func)));
4972 #line 4972 OMC_FILE
4973  goto tmp3_done;
4974  }
4975  case 27: {
4976 
4977  /* Pattern matching succeeded */
4978 #line 3759 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4979  /* Tail recursive call */
4980 #line 3759 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4981  _exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)));
4982 #line 3759 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4983  goto _tailrecursive;
4984 #line 3759 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4985  /* TODO: Make sure any eventual dead code below is never generated */
4986 #line 4986 OMC_FILE
4987  goto tmp3_done;
4988  }
4989  case 28: {
4990 
4991  /* Pattern matching succeeded */
4992 #line 3760 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4993  /* Tail recursive call */
4994 #line 3760 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4995  _exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)));
4996 #line 3760 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4997  goto _tailrecursive;
4998 #line 3760 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4999  /* TODO: Make sure any eventual dead code below is never generated */
5000 #line 5000 OMC_FILE
5001  goto tmp3_done;
5002  }
5003  case 33: {
5004 
5005  /* Pattern matching succeeded */
5006 #line 3761 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5007  tmp1 = omc_NFExpression_listContains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func));
5008 #line 5008 OMC_FILE
5009  goto tmp3_done;
5010  }
5011  case 29: {
5012 
5013  /* Pattern matching succeeded */
5014 #line 3762 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5015  /* Tail recursive call */
5016 #line 3762 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5017  _exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)));
5018 #line 3762 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5019  goto _tailrecursive;
5020 #line 3762 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5021  /* TODO: Make sure any eventual dead code below is never generated */
5022 #line 5022 OMC_FILE
5023  goto tmp3_done;
5024  }
5025  default:
5026  tmp3_default: OMC_LABEL_UNUSED; {
5027 
5028  /* Pattern matching succeeded */
5029 #line 3763 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5030  tmp1 = 0;
5031 #line 5031 OMC_FILE
5032  goto tmp3_done;
5033  }
5034  }
5035  goto tmp3_end;
5036  tmp3_end: ;
5037  }
5038  goto goto_2;
5039  goto_2:;
5040  MMC_THROW_INTERNAL();
5041  goto tmp3_done;
5042  tmp3_done:;
5043  }
5044  }
5045  _res = tmp1;
5046  _return: OMC_LABEL_UNUSED
5047  return _res;
5048 }
DLLExport modelica_boolean omc_NFSubscript_listContainsExp(threadData_t *threadData, modelica_metatype _subscripts, modelica_fnptr _func)
Definition: NFSubscript.c:2147
signed char modelica_boolean
DLLExport modelica_boolean omc_NFExpression_containsOpt(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
DLLExport modelica_boolean omc_NFExpression_callContains(threadData_t *threadData, modelica_metatype _call, modelica_fnptr _func)
void * modelica_fnptr
DLLExport modelica_boolean omc_NFExpression_crefContains(threadData_t *threadData, modelica_metatype _cref, modelica_fnptr _func)
void * modelica_metatype
DLLExport modelica_boolean omc_NFExpression_listContains(threadData_t *threadData, modelica_metatype _expl, modelica_fnptr _func)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
DLLExport modelica_boolean omc_NFExpression_contains(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_containsIterator()

DLLExport modelica_boolean omc_NFExpression_containsIterator ( threadData_t threadData,
modelica_metatype  _exp,
modelica_integer  _origin 
)

Definition at line 4020 of file NFExpression.c.

4021 {
4022  modelica_boolean _iter;
4023  MMC_SO();
4024  _tailrecursive: OMC_LABEL_UNUSED
4025 #line 3937 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4026  if(omc_NFTyping_ExpOrigin_flagSet(threadData, (modelica_integer)_origin, ((modelica_integer) 128)))
4027 #line 3937 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4028  {
4029 #line 3938 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4030  _iter = omc_NFExpression_contains(threadData, _exp, boxvar_NFExpression_isIterator);
4031 #line 4031 OMC_FILE
4032  }
4033  else
4034  {
4035 #line 3940 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4036  _iter = 0;
4037 #line 4037 OMC_FILE
4038  }
4039  _return: OMC_LABEL_UNUSED
4040  return _iter;
4041 }
m_integer modelica_integer
signed char modelica_boolean
DLLExport modelica_boolean omc_NFTyping_ExpOrigin_flagSet(threadData_t *threadData, modelica_integer _origin, modelica_integer _flag)
Definition: NFTyping.c:9962
DLLExport modelica_boolean omc_NFExpression_contains(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_containsOpt()

DLLExport modelica_boolean omc_NFExpression_containsOpt ( threadData_t threadData,
modelica_metatype  _exp,
modelica_fnptr  _func 
)

Definition at line 5059 of file NFExpression.c.

5060 {
5061  modelica_boolean _res;
5062  modelica_metatype _e = NULL;
5063  modelica_boolean tmp1 = 0;
5064  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
5065  MMC_SO();
5066  _tailrecursive: OMC_LABEL_UNUSED
5067 #line 5067 OMC_FILE
5068  { /* match expression */
5069  modelica_metatype tmp4_1;
5070  tmp4_1 = _exp;
5071  {
5072  volatile mmc_switch_type tmp4;
5073  int tmp5;
5074  tmp4 = 0;
5075  for (; tmp4 < 2; tmp4++) {
5076  switch (MMC_SWITCH_CAST(tmp4)) {
5077  case 0: {
5078  if (optionNone(tmp4_1)) goto tmp3_end;
5079  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 1));
5080  _e = tmpMeta[0];
5081  /* Pattern matching succeeded */
5082 #line 3694 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5083  tmp1 = omc_NFExpression_contains(threadData, _e, ((modelica_fnptr) _func));
5084 #line 5084 OMC_FILE
5085  goto tmp3_done;
5086  }
5087  case 1: {
5088 
5089  /* Pattern matching succeeded */
5090 #line 3695 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5091  tmp1 = 0;
5092 #line 5092 OMC_FILE
5093  goto tmp3_done;
5094  }
5095  }
5096  goto tmp3_end;
5097  tmp3_end: ;
5098  }
5099  goto goto_2;
5100  goto_2:;
5101  MMC_THROW_INTERNAL();
5102  goto tmp3_done;
5103  tmp3_done:;
5104  }
5105  }
5106  _res = tmp1;
5107  _return: OMC_LABEL_UNUSED
5108  return _res;
5109 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_fnptr
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
DLLExport modelica_boolean omc_NFExpression_contains(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_crefContains()

DLLExport modelica_boolean omc_NFExpression_crefContains ( threadData_t threadData,
modelica_metatype  _cref,
modelica_fnptr  _func 
)

Definition at line 4701 of file NFExpression.c.

4702 {
4703  modelica_boolean _res;
4704  modelica_boolean tmp1 = 0;
4705  MMC_SO();
4706  _tailrecursive: OMC_LABEL_UNUSED
4707 #line 4707 OMC_FILE
4708  { /* match expression */
4709  modelica_metatype tmp4_1;
4710  tmp4_1 = _cref;
4711  {
4712  volatile mmc_switch_type tmp4;
4713  int tmp5;
4714  tmp4 = 0;
4715  for (; tmp4 < 2; tmp4++) {
4716  switch (MMC_SWITCH_CAST(tmp4)) {
4717  case 0: {
4718  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,5) == 0) goto tmp3_end;
4719 
4720  /* Pattern matching succeeded */
4721 #line 3774 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4722  tmp1 = (omc_NFExpression_subscriptsContains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 3))), ((modelica_fnptr) _func)) || omc_NFExpression_crefContains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 6))), ((modelica_fnptr) _func)));
4723 #line 4723 OMC_FILE
4724  goto tmp3_done;
4725  }
4726  case 1: {
4727 
4728  /* Pattern matching succeeded */
4729 #line 3777 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4730  tmp1 = 0;
4731 #line 4731 OMC_FILE
4732  goto tmp3_done;
4733  }
4734  }
4735  goto tmp3_end;
4736  tmp3_end: ;
4737  }
4738  goto goto_2;
4739  goto_2:;
4740  MMC_THROW_INTERNAL();
4741  goto tmp3_done;
4742  tmp3_done:;
4743  }
4744  }
4745  _res = tmp1;
4746  _return: OMC_LABEL_UNUSED
4747  return _res;
4748 }
DLLExport modelica_boolean omc_NFExpression_subscriptsContains(threadData_t *threadData, modelica_metatype _subs, modelica_fnptr _func)
signed char modelica_boolean
float mmc_switch_type
void * modelica_fnptr
DLLExport modelica_boolean omc_NFExpression_crefContains(threadData_t *threadData, modelica_metatype _cref, modelica_fnptr _func)
void * modelica_metatype
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_dimensionCount()

DLLExport modelica_integer omc_NFExpression_dimensionCount ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 13362 of file NFExpression.c.

13363 {
13364  modelica_integer _dimCount;
13365  modelica_integer tmp1 = 0;
13366  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
13367  MMC_SO();
13368  _tailrecursive: OMC_LABEL_UNUSED
13369 #line 13369 OMC_FILE
13370  { /* match expression */
13371  modelica_metatype tmp4_1;
13372  tmp4_1 = _exp;
13373  {
13374  volatile mmc_switch_type tmp4;
13375  int tmp5;
13376  tmp4 = 0;
13377  for (; tmp4 < 8; tmp4++) {
13378  switch (MMC_SWITCH_CAST(tmp4)) {
13379  case 0: {
13380  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,7,3) == 0) goto tmp3_end;
13381  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
13382  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],10,0) == 0) goto tmp3_end;
13383 
13384  /* Pattern matching succeeded */
13385 #line 1720 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13386  tmp1 = ((modelica_integer) 1) + omc_NFExpression_dimensionCount(threadData, listHead((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))));
13387 #line 13387 OMC_FILE
13388  goto tmp3_done;
13389  }
13390  case 1: {
13391  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,7,3) == 0) goto tmp3_end;
13392 
13393  /* Pattern matching succeeded */
13394 #line 1721 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13395  tmp1 = omc_NFType_dimensionCount(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
13396 #line 13396 OMC_FILE
13397  goto tmp3_done;
13398  }
13399  case 2: {
13400  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,9,4) == 0) goto tmp3_end;
13401 
13402  /* Pattern matching succeeded */
13403 #line 1722 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13404  tmp1 = omc_NFType_dimensionCount(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
13405 #line 13405 OMC_FILE
13406  goto tmp3_done;
13407  }
13408  case 3: {
13409  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,2) == 0) goto tmp3_end;
13410  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
13411  if (!optionNone(tmpMeta[0])) goto tmp3_end;
13412  /* Pattern matching succeeded */
13413 #line 1723 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13414  /* Tail recursive call */
13415 #line 1723 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13416  _exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)));
13417 #line 1723 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13418  goto _tailrecursive;
13419 #line 1723 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13420  /* TODO: Make sure any eventual dead code below is never generated */
13421 #line 13421 OMC_FILE
13422  goto tmp3_done;
13423  }
13424  case 4: {
13425  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,21,2) == 0) goto tmp3_end;
13426 
13427  /* Pattern matching succeeded */
13428 #line 1724 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13429  /* Tail recursive call */
13430 #line 1724 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13431  _exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
13432 #line 1724 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13433  goto _tailrecursive;
13434 #line 1724 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13435  /* TODO: Make sure any eventual dead code below is never generated */
13436 #line 13436 OMC_FILE
13437  goto tmp3_done;
13438  }
13439  case 5: {
13440  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,23,3) == 0) goto tmp3_end;
13441 
13442  /* Pattern matching succeeded */
13443 #line 1725 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13444  tmp1 = omc_NFType_dimensionCount(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
13445 #line 13445 OMC_FILE
13446  goto tmp3_done;
13447  }
13448  case 6: {
13449  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,24,3) == 0) goto tmp3_end;
13450 
13451  /* Pattern matching succeeded */
13452 #line 1726 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13453  tmp1 = omc_NFType_dimensionCount(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
13454 #line 13454 OMC_FILE
13455  goto tmp3_done;
13456  }
13457  case 7: {
13458 
13459  /* Pattern matching succeeded */
13460 #line 1728 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13461  tmp1 = ((modelica_integer) 0);
13462 #line 13462 OMC_FILE
13463  goto tmp3_done;
13464  }
13465  }
13466  goto tmp3_end;
13467  tmp3_end: ;
13468  }
13469  goto goto_2;
13470  goto_2:;
13471  MMC_THROW_INTERNAL();
13472  goto tmp3_done;
13473  tmp3_done:;
13474  }
13475  }
13476  _dimCount = tmp1;
13477  _return: OMC_LABEL_UNUSED
13478  return _dimCount;
13479 }
DLLExport modelica_integer omc_NFType_dimensionCount(threadData_t *threadData, modelica_metatype _ty)
Definition: NFType.c:1812
m_integer modelica_integer
float mmc_switch_type
DLLExport modelica_integer omc_NFExpression_dimensionCount(threadData_t *threadData, modelica_metatype _exp)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_enumIndexExp()

DLLExport modelica_metatype omc_NFExpression_enumIndexExp ( threadData_t threadData,
modelica_metatype  _enumExp 
)

Definition at line 1123 of file NFExpression.c.

1124 {
1125  modelica_metatype _indexExp = NULL;
1126  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
1127  MMC_SO();
1128  _tailrecursive: OMC_LABEL_UNUSED
1129 #line 1129 OMC_FILE
1130  { /* match expression */
1131  modelica_metatype tmp3_1;
1132  tmp3_1 = _enumExp;
1133  {
1134  volatile mmc_switch_type tmp3;
1135  int tmp4;
1136  tmp3 = 0;
1137  for (; tmp3 < 2; tmp3++) {
1138  switch (MMC_SWITCH_CAST(tmp3)) {
1139  case 0: {
1140  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,4,3) == 0) goto tmp2_end;
1141 
1142  /* Pattern matching succeeded */
1143 #line 4544 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1144  tmpMeta[1] = mmc_mk_box2(3, &NFExpression_INTEGER__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_enumExp), 4))));
1145 #line 4544 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1146  tmpMeta[0] = tmpMeta[1];
1147 #line 1147 OMC_FILE
1148  goto tmp2_done;
1149  }
1150  case 1: {
1151 
1152  /* Pattern matching succeeded */
1153 #line 4545 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1154  tmpMeta[1] = mmc_mk_cons(_enumExp, MMC_REFSTRUCTLIT(mmc_nil));
1155 #line 4545 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1156  tmpMeta[2] = mmc_mk_box2(15, &NFExpression_CALL__desc, omc_NFCall_Call_makeTypedCall(threadData, _OMC_LIT28, tmpMeta[1], omc_NFExpression_variability(threadData, _enumExp), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_OMC_LIT28), 8)))));
1157 #line 4545 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1158  tmpMeta[0] = tmpMeta[2];
1159 #line 1159 OMC_FILE
1160  goto tmp2_done;
1161  }
1162  }
1163  goto tmp2_end;
1164  tmp2_end: ;
1165  }
1166  goto goto_1;
1167  goto_1:;
1168  MMC_THROW_INTERNAL();
1169  goto tmp2_done;
1170  tmp2_done:;
1171  }
1172  }
1173  _indexExp = tmpMeta[0];
1174  _return: OMC_LABEL_UNUSED
1175  return _indexExp;
1176 }
DLLExport modelica_integer omc_NFExpression_variability(threadData_t *threadData, modelica_metatype _exp)
struct record_description NFExpression_CALL__desc
float mmc_switch_type
struct record_description NFExpression_INTEGER__desc
void * modelica_metatype
DLLExport modelica_metatype omc_NFCall_Call_makeTypedCall(threadData_t *threadData, modelica_metatype _fn, modelica_metatype _args, modelica_integer _variability, modelica_metatype _returnType)
Definition: NFCall.c:5166
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_NFExpression_fillType()

DLLExport modelica_metatype omc_NFExpression_fillType ( threadData_t threadData,
modelica_metatype  _ty,
modelica_metatype  _fillExp 
)

Definition at line 3254 of file NFExpression.c.

3255 {
3256  modelica_metatype _exp = NULL;
3257  modelica_metatype _dims = NULL;
3258  modelica_metatype _expl = NULL;
3259  modelica_metatype _arr_ty = NULL;
3260  modelica_integer tmp1;
3261  modelica_integer tmp2;
3262  modelica_integer tmp3;
3263  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
3264  MMC_SO();
3265  _tailrecursive: OMC_LABEL_UNUSED
3266  _exp = _fillExp;
3267  _dims = omc_NFType_arrayDims(threadData, _ty);
3268  _arr_ty = omc_NFType_arrayElementType(threadData, _ty);
3269 #line 4066 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3270  {
3271 #line 4066 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3272  modelica_metatype _dim;
3273 #line 4066 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3274  for (tmpMeta[0] = listReverse(_dims); !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
3275 #line 4066 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3276  {
3277 #line 4066 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3278  _dim = MMC_CAR(tmpMeta[0]);
3279 #line 4067 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3280  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
3281 #line 4067 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3282  _expl = tmpMeta[1];
3283 #line 3283 OMC_FILE
3284 
3285 #line 4068 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3286  tmp1 = ((modelica_integer) 1); tmp2 = 1; tmp3 = omc_NFDimension_size(threadData, _dim);
3287 #line 4068 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3288  if(!(((tmp2 > 0) && (tmp1 > tmp3)) || ((tmp2 < 0) && (tmp1 < tmp3))))
3289 #line 4068 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3290  {
3291 #line 4068 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3292  modelica_integer _i;
3293 #line 4068 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3294  for(_i = ((modelica_integer) 1); in_range_integer(_i, tmp1, tmp3); _i += tmp2)
3295 #line 4068 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3296  {
3297 #line 4069 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3298  tmpMeta[1] = mmc_mk_cons(_exp, _expl);
3299 #line 4069 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3300  _expl = tmpMeta[1];
3301 #line 3301 OMC_FILE
3302  }
3303  }
3304 
3305 #line 4072 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3306  _arr_ty = omc_NFType_liftArrayLeft(threadData, _arr_ty, _dim);
3307 #line 3307 OMC_FILE
3308 
3309 #line 4073 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3310  _exp = omc_NFExpression_makeArray(threadData, _arr_ty, _expl, omc_NFExpression_isLiteral(threadData, _exp));
3311 #line 3311 OMC_FILE
3312  }
3313  }
3314  _return: OMC_LABEL_UNUSED
3315  return _exp;
3316 }
DLLExport modelica_integer omc_NFDimension_size(threadData_t *threadData, modelica_metatype _dim)
Definition: NFDimension.c:1013
m_integer modelica_integer
DLLExport modelica_boolean omc_NFExpression_isLiteral(threadData_t *threadData, modelica_metatype _exp)
DLLExport modelica_metatype omc_NFExpression_makeArray(threadData_t *threadData, modelica_metatype _ty, modelica_metatype _expl, modelica_boolean _literal)
void * modelica_metatype
modelica_metatype listReverse(modelica_metatype)
DLLExport modelica_metatype omc_NFType_arrayElementType(threadData_t *threadData, modelica_metatype _ty)
Definition: NFType.c:2233
DLLExport modelica_metatype omc_NFType_liftArrayLeft(threadData_t *threadData, modelica_metatype _ $in_ty, modelica_metatype _dim)
Definition: NFType.c:4095
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
DLLExport modelica_metatype omc_NFType_arrayDims(threadData_t *threadData, modelica_metatype _ty)
Definition: NFType.c:2041
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_fold()

DLLExport modelica_metatype omc_NFExpression_fold ( threadData_t threadData,
modelica_metatype  _exp,
modelica_fnptr  _func,
modelica_metatype  _arg 
)

Definition at line 8980 of file NFExpression.c.

8981 {
8982  modelica_metatype _result = NULL;
8983  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
8984  MMC_SO();
8985  _tailrecursive: OMC_LABEL_UNUSED
8986 #line 8986 OMC_FILE
8987  { /* match expression */
8988  modelica_metatype tmp3_1;
8989  tmp3_1 = _exp;
8990  {
8991  modelica_metatype _e = NULL;
8992  modelica_metatype _e1 = NULL;
8993  modelica_metatype _e2 = NULL;
8994  volatile mmc_switch_type tmp3;
8995  int tmp4;
8996  tmp3 = 0;
8997  for (; tmp3 < 29; tmp3++) {
8998  switch (MMC_SWITCH_CAST(tmp3)) {
8999  case 0: {
9000  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,29,1) == 0) goto tmp2_end;
9001  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
9002  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,2) == 0) goto tmp2_end;
9003  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
9004  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
9005  _e1 = tmpMeta[2];
9006  _e2 = tmpMeta[3];
9007  /* Pattern matching succeeded */
9008 #line 2437 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9009  _result = omc_NFExpression_fold(threadData, _e1, ((modelica_fnptr) _func), _arg);
9010 #line 9010 OMC_FILE
9011 #line 2438 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9012  tmpMeta[0] = omc_NFExpression_fold(threadData, _e2, ((modelica_fnptr) _func), _result);
9013 #line 9013 OMC_FILE
9014  goto tmp2_done;
9015  }
9016  case 1: {
9017  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,29,1) == 0) goto tmp2_end;
9018  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
9019  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,1) == 0) goto tmp2_end;
9020  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
9021  _e1 = tmpMeta[2];
9022  /* Pattern matching succeeded */
9023 #line 2444 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9024  tmpMeta[0] = omc_NFExpression_fold(threadData, _e1, ((modelica_fnptr) _func), _arg);
9025 #line 9025 OMC_FILE
9026  goto tmp2_done;
9027  }
9028  case 2: {
9029  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,29,1) == 0) goto tmp2_end;
9030  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
9031  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,2) == 0) goto tmp2_end;
9032  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
9033  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
9034  _e1 = tmpMeta[2];
9035  _e2 = tmpMeta[3];
9036  /* Pattern matching succeeded */
9037 #line 2450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9038  _result = omc_NFExpression_fold(threadData, _e1, ((modelica_fnptr) _func), _arg);
9039 #line 9039 OMC_FILE
9040 #line 2451 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9041  tmpMeta[0] = omc_NFExpression_fold(threadData, _e2, ((modelica_fnptr) _func), _result);
9042 #line 9042 OMC_FILE
9043  goto tmp2_done;
9044  }
9045  case 3: {
9046  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,29,1) == 0) goto tmp2_end;
9047  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
9048  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],4,2) == 0) goto tmp2_end;
9049  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
9050  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
9051  _e1 = tmpMeta[2];
9052  _e2 = tmpMeta[3];
9053  /* Pattern matching succeeded */
9054 #line 2457 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9055  _result = omc_NFExpression_fold(threadData, _e1, ((modelica_fnptr) _func), _arg);
9056 #line 9056 OMC_FILE
9057 #line 2458 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9058  tmpMeta[0] = omc_NFExpression_fold(threadData, _e2, ((modelica_fnptr) _func), _result);
9059 #line 9059 OMC_FILE
9060  goto tmp2_done;
9061  }
9062  case 4: {
9063  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,5,2) == 0) goto tmp2_end;
9064 
9065  /* Pattern matching succeeded */
9066 #line 2462 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9067  tmpMeta[0] = omc_NFExpression_foldCref(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func), _arg);
9068 #line 9068 OMC_FILE
9069  goto tmp2_done;
9070  }
9071  case 5: {
9072  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,7,3) == 0) goto tmp2_end;
9073 
9074  /* Pattern matching succeeded */
9075 #line 2463 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9076  tmpMeta[0] = omc_NFExpression_foldList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func), _arg);
9077 #line 9077 OMC_FILE
9078  goto tmp2_done;
9079  }
9080  case 6: {
9081  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,8,1) == 0) goto tmp2_end;
9082 
9083  /* Pattern matching succeeded */
9084 #line 2467 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9085  _result = _arg;
9086 #line 9086 OMC_FILE
9087 
9088 #line 2468 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9089  {
9090 #line 2468 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9092 #line 2468 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9093  for (tmpMeta[1] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))); !listEmpty(tmpMeta[1]); tmpMeta[1]=MMC_CDR(tmpMeta[1]))
9094 #line 2468 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9095  {
9096 #line 2468 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9097  _row = MMC_CAR(tmpMeta[1]);
9098 #line 2469 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9099  _result = omc_NFExpression_foldList(threadData, _row, ((modelica_fnptr) _func), _result);
9100 #line 9100 OMC_FILE
9101  }
9102  }
9103 #line 2471 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9104  tmpMeta[0] = _result;
9105 #line 9105 OMC_FILE
9106  goto tmp2_done;
9107  }
9108  case 7: {
9109  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,9,4) == 0) goto tmp2_end;
9110  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
9111  if (optionNone(tmpMeta[1])) goto tmp2_end;
9112  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
9113 
9114  _e = tmpMeta[2];
9115  /* Pattern matching succeeded */
9116 #line 2476 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9117  _result = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func), _arg);
9118 #line 9118 OMC_FILE
9119 
9120 #line 2477 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9121  _result = omc_NFExpression_fold(threadData, _e, ((modelica_fnptr) _func), _result);
9122 #line 9122 OMC_FILE
9123 #line 2478 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9124  tmpMeta[0] = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))), ((modelica_fnptr) _func), _result);
9125 #line 9125 OMC_FILE
9126  goto tmp2_done;
9127  }
9128  case 8: {
9129  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,9,4) == 0) goto tmp2_end;
9130 
9131  /* Pattern matching succeeded */
9132 #line 2483 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9133  _result = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func), _arg);
9134 #line 9134 OMC_FILE
9135 #line 2484 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9136  tmpMeta[0] = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))), ((modelica_fnptr) _func), _result);
9137 #line 9137 OMC_FILE
9138  goto tmp2_done;
9139  }
9140  case 9: {
9141  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,10,2) == 0) goto tmp2_end;
9142 
9143  /* Pattern matching succeeded */
9144 #line 2487 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9145  tmpMeta[0] = omc_NFExpression_foldList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func), _arg);
9146 #line 9146 OMC_FILE
9147  goto tmp2_done;
9148  }
9149  case 10: {
9150  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,11,3) == 0) goto tmp2_end;
9151 
9152  /* Pattern matching succeeded */
9153 #line 2488 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9154  tmpMeta[0] = omc_NFExpression_foldList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func), _arg);
9155 #line 9155 OMC_FILE
9156  goto tmp2_done;
9157  }
9158  case 11: {
9159  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,12,1) == 0) goto tmp2_end;
9160 
9161  /* Pattern matching succeeded */
9162 #line 2489 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9163  tmpMeta[0] = omc_NFExpression_foldCall(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg);
9164 #line 9164 OMC_FILE
9165  goto tmp2_done;
9166  }
9167  case 12: {
9168  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,13,2) == 0) goto tmp2_end;
9169  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
9170  if (optionNone(tmpMeta[1])) goto tmp2_end;
9171  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
9172  _e = tmpMeta[2];
9173  /* Pattern matching succeeded */
9174 #line 2493 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9175  _result = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg);
9176 #line 9176 OMC_FILE
9177 #line 2494 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9178  tmpMeta[0] = omc_NFExpression_fold(threadData, _e, ((modelica_fnptr) _func), _result);
9179 #line 9179 OMC_FILE
9180  goto tmp2_done;
9181  }
9182  case 13: {
9183  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,13,2) == 0) goto tmp2_end;
9184 
9185  /* Pattern matching succeeded */
9186 #line 2497 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9187  tmpMeta[0] = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg);
9188 #line 9188 OMC_FILE
9189  goto tmp2_done;
9190  }
9191  case 14: {
9192  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,15,3) == 0) goto tmp2_end;
9193 
9194  /* Pattern matching succeeded */
9195 #line 2501 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9196  _result = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg);
9197 #line 9197 OMC_FILE
9198 #line 2502 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9199  tmpMeta[0] = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func), _result);
9200 #line 9200 OMC_FILE
9201  goto tmp2_done;
9202  }
9203  case 15: {
9204  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,16,2) == 0) goto tmp2_end;
9205 
9206  /* Pattern matching succeeded */
9207 #line 2505 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9208  tmpMeta[0] = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func), _arg);
9209 #line 9209 OMC_FILE
9210  goto tmp2_done;
9211  }
9212  case 16: {
9213  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,17,3) == 0) goto tmp2_end;
9214 
9215  /* Pattern matching succeeded */
9216 #line 2509 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9217  _result = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg);
9218 #line 9218 OMC_FILE
9219 #line 2510 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9220  tmpMeta[0] = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func), _result);
9221 #line 9221 OMC_FILE
9222  goto tmp2_done;
9223  }
9224  case 17: {
9225  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,18,2) == 0) goto tmp2_end;
9226 
9227  /* Pattern matching succeeded */
9228 #line 2513 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9229  tmpMeta[0] = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func), _arg);
9230 #line 9230 OMC_FILE
9231  goto tmp2_done;
9232  }
9233  case 18: {
9234  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,19,3) == 0) goto tmp2_end;
9235 
9236  /* Pattern matching succeeded */
9237 #line 2517 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9238  _result = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg);
9239 #line 9239 OMC_FILE
9240 #line 2518 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9241  tmpMeta[0] = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func), _result);
9242 #line 9242 OMC_FILE
9243  goto tmp2_done;
9244  }
9245  case 19: {
9246  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,20,3) == 0) goto tmp2_end;
9247 
9248  /* Pattern matching succeeded */
9249 #line 2523 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9250  _result = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg);
9251 #line 9251 OMC_FILE
9252 
9253 #line 2524 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9254  _result = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func), _result);
9255 #line 9255 OMC_FILE
9256 #line 2525 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9257  tmpMeta[0] = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func), _result);
9258 #line 9258 OMC_FILE
9259  goto tmp2_done;
9260  }
9261  case 20: {
9262  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,21,2) == 0) goto tmp2_end;
9263 
9264  /* Pattern matching succeeded */
9265 #line 2528 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9266  tmpMeta[0] = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func), _arg);
9267 #line 9267 OMC_FILE
9268  goto tmp2_done;
9269  }
9270  case 21: {
9271  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,22,2) == 0) goto tmp2_end;
9272 
9273  /* Pattern matching succeeded */
9274 #line 2529 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9275  tmpMeta[0] = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg);
9276 #line 9276 OMC_FILE
9277  goto tmp2_done;
9278  }
9279  case 22: {
9280  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,23,3) == 0) goto tmp2_end;
9281 
9282  /* Pattern matching succeeded */
9283 #line 2533 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9284  _result = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg);
9285 #line 9285 OMC_FILE
9286 #line 2534 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9287  tmpMeta[1] = mmc_mk_box1(0, ((modelica_fnptr) _func));
9288 #line 2534 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9289  tmpMeta[0] = omc_List_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), (modelica_fnptr) mmc_mk_box2(0,closure3_NFSubscript_foldExp,tmpMeta[1]), _result);
9290 #line 9290 OMC_FILE
9291  goto tmp2_done;
9292  }
9293  case 23: {
9294  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,24,3) == 0) goto tmp2_end;
9295 
9296  /* Pattern matching succeeded */
9297 #line 2537 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9298  tmpMeta[0] = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg);
9299 #line 9299 OMC_FILE
9300  goto tmp2_done;
9301  }
9302  case 24: {
9303  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,25,4) == 0) goto tmp2_end;
9304 
9305  /* Pattern matching succeeded */
9306 #line 2538 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9307  tmpMeta[0] = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg);
9308 #line 9308 OMC_FILE
9309  goto tmp2_done;
9310  }
9311  case 25: {
9312  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,26,1) == 0) goto tmp2_end;
9313 
9314  /* Pattern matching succeeded */
9315 #line 2539 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9316  tmpMeta[0] = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg);
9317 #line 9317 OMC_FILE
9318  goto tmp2_done;
9319  }
9320  case 26: {
9321  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,27,1) == 0) goto tmp2_end;
9322 
9323  /* Pattern matching succeeded */
9324 #line 2540 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9325  tmpMeta[0] = omc_NFExpression_fold(threadData, omc_Mutable_access(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))), ((modelica_fnptr) _func), _arg);
9326 #line 9326 OMC_FILE
9327  goto tmp2_done;
9328  }
9329  case 27: {
9330  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,30,4) == 0) goto tmp2_end;
9331 
9332  /* Pattern matching succeeded */
9333 #line 2541 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9334  tmpMeta[0] = omc_NFExpression_foldList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func), _arg);
9335 #line 9335 OMC_FILE
9336  goto tmp2_done;
9337  }
9338  case 28: {
9339 
9340  /* Pattern matching succeeded */
9341 #line 2542 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9342  tmpMeta[0] = _arg;
9343 #line 9343 OMC_FILE
9344  goto tmp2_done;
9345  }
9346  }
9347  goto tmp2_end;
9348  tmp2_end: ;
9349  }
9350  goto goto_1;
9351  goto_1:;
9352  MMC_THROW_INTERNAL();
9353  goto tmp2_done;
9354  tmp2_done:;
9355  }
9356  }
9357  _result = tmpMeta[0];
9358 
9359 #line 2545 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9360  _result = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _exp, _result) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _exp, _result);
9361 #line 9361 OMC_FILE
9362  _return: OMC_LABEL_UNUSED
9363  return _result;
9364 }
DLLExport modelica_metatype omc_NFExpression_foldCall(threadData_t *threadData, modelica_metatype _call, modelica_fnptr _func, modelica_metatype _ $in_foldArg)
modelica_metatype omc_Mutable_access(threadData_t *threadData, modelica_metatype _mutable)
Definition: Mutable.c:13
float mmc_switch_type
DLLExport modelica_metatype omc_NFExpression_foldCref(threadData_t *threadData, modelica_metatype _cref, modelica_fnptr _func, modelica_metatype _ $in_arg)
void * modelica_fnptr
DLLExport modelica_metatype omc_NFExpression_fold(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func, modelica_metatype _arg)
void * modelica_metatype
DLLExport modelica_metatype omc_List_fold(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFoldFunc, modelica_metatype _inStartValue)
Definition: List.c:9662
DLLExport modelica_metatype omc_NFExpression_foldList(threadData_t *threadData, modelica_metatype _expl, modelica_fnptr _func, modelica_metatype _arg)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_foldCall()

DLLExport modelica_metatype omc_NFExpression_foldCall ( threadData_t threadData,
modelica_metatype  _call,
modelica_fnptr  _func,
modelica_metatype $in_foldArg 
)

Definition at line 8741 of file NFExpression.c.

8742 {
8743  modelica_metatype _foldArg = NULL;
8744  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
8745  MMC_SO();
8746  _tailrecursive: OMC_LABEL_UNUSED
8747  _foldArg = _$in_foldArg;
8748 #line 8748 OMC_FILE
8749  { /* match expression */
8750  modelica_metatype tmp3_1;
8751  tmp3_1 = _call;
8752  {
8753  modelica_metatype _e = NULL;
8754  int tmp3;
8755  {
8756  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
8757  case 3: {
8758 
8759  /* Pattern matching succeeded */
8760 #line 2564 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8761  _foldArg = omc_NFExpression_foldList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), ((modelica_fnptr) _func), _foldArg);
8762 #line 8762 OMC_FILE
8763 
8764 #line 2566 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8765  {
8766 #line 2566 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8767  modelica_metatype _arg;
8768 #line 2566 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8769  for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))); !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
8770 #line 2566 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8771  {
8772 #line 2566 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8773  _arg = MMC_CAR(tmpMeta[0]);
8774 #line 2567 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8775  /* Pattern-matching assignment */
8776 #line 2567 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8777  tmpMeta[1] = _arg;
8778 #line 2567 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8779  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
8780 #line 2567 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8781  _e = tmpMeta[2];
8782 #line 8782 OMC_FILE
8783 
8784 #line 2568 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8785  _foldArg = omc_NFExpression_fold(threadData, _e, ((modelica_fnptr) _func), _foldArg);
8786 #line 8786 OMC_FILE
8787  }
8788  }
8789 #line 8789 OMC_FILE
8790  goto tmp2_done;
8791  }
8792  case 4: {
8793 
8794  /* Pattern matching succeeded */
8795 #line 2575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8796  {
8797 #line 2575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8798  modelica_metatype _arg;
8799 #line 2575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8800  for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))); !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
8801 #line 2575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8802  {
8803 #line 2575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8804  _arg = MMC_CAR(tmpMeta[0]);
8805 #line 2576 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8806  /* Pattern-matching assignment */
8807 #line 2576 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8808  tmpMeta[1] = _arg;
8809 #line 2576 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8810  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
8811 #line 2576 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8812  _e = tmpMeta[2];
8813 #line 8813 OMC_FILE
8814 
8815 #line 2577 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8816  _foldArg = omc_NFExpression_fold(threadData, _e, ((modelica_fnptr) _func), _foldArg);
8817 #line 8817 OMC_FILE
8818  }
8819  }
8820 
8821 #line 2580 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8822  {
8823 #line 2580 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8824  modelica_metatype _arg;
8825 #line 2580 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8826  for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))); !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
8827 #line 2580 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8828  {
8829 #line 2580 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8830  _arg = MMC_CAR(tmpMeta[0]);
8831 #line 2581 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8832  /* Pattern-matching assignment */
8833 #line 2581 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8834  tmpMeta[1] = _arg;
8835 #line 2581 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8836  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
8837 #line 2581 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8838  _e = tmpMeta[2];
8839 #line 8839 OMC_FILE
8840 
8841 #line 2582 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8842  _foldArg = omc_NFExpression_fold(threadData, _e, ((modelica_fnptr) _func), _foldArg);
8843 #line 8843 OMC_FILE
8844  }
8845  }
8846 #line 8846 OMC_FILE
8847  goto tmp2_done;
8848  }
8849  case 5: {
8850 
8851  /* Pattern matching succeeded */
8852 #line 2589 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8853  _foldArg = omc_NFExpression_foldList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))), ((modelica_fnptr) _func), _foldArg);
8854 #line 8854 OMC_FILE
8855 #line 8855 OMC_FILE
8856  goto tmp2_done;
8857  }
8858  case 6: {
8859 
8860  /* Pattern matching succeeded */
8861 #line 2595 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8862  _foldArg = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), ((modelica_fnptr) _func), _foldArg);
8863 #line 8863 OMC_FILE
8864 
8865 #line 2597 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8866  {
8867 #line 2597 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8868  modelica_metatype _i;
8869 #line 2597 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8870  for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))); !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
8871 #line 2597 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8872  {
8873 #line 2597 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8874  _i = MMC_CAR(tmpMeta[0]);
8875 #line 2598 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8876  _foldArg = omc_NFExpression_fold(threadData, omc_Util_tuple22(threadData, _i), ((modelica_fnptr) _func), _foldArg);
8877 #line 8877 OMC_FILE
8878  }
8879  }
8880 #line 8880 OMC_FILE
8881  goto tmp2_done;
8882  }
8883  case 7: {
8884 
8885  /* Pattern matching succeeded */
8886 #line 2605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8887  _foldArg = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))), ((modelica_fnptr) _func), _foldArg);
8888 #line 8888 OMC_FILE
8889 
8890 #line 2607 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8891  {
8892 #line 2607 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8893  modelica_metatype _i;
8894 #line 2607 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8895  for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))); !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
8896 #line 2607 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8897  {
8898 #line 2607 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8899  _i = MMC_CAR(tmpMeta[0]);
8900 #line 2608 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8901  _foldArg = omc_NFExpression_fold(threadData, omc_Util_tuple22(threadData, _i), ((modelica_fnptr) _func), _foldArg);
8902 #line 8902 OMC_FILE
8903  }
8904  }
8905 #line 8905 OMC_FILE
8906  goto tmp2_done;
8907  }
8908  case 8: {
8909 
8910  /* Pattern matching succeeded */
8911 #line 2615 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8912  _foldArg = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), ((modelica_fnptr) _func), _foldArg);
8913 #line 8913 OMC_FILE
8914 
8915 #line 2617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8916  {
8917 #line 2617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8918  modelica_metatype _i;
8919 #line 2617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8920  for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))); !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
8921 #line 2617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8922  {
8923 #line 2617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8924  _i = MMC_CAR(tmpMeta[0]);
8925 #line 2618 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8926  _foldArg = omc_NFExpression_fold(threadData, omc_Util_tuple22(threadData, _i), ((modelica_fnptr) _func), _foldArg);
8927 #line 8927 OMC_FILE
8928  }
8929  }
8930 #line 8930 OMC_FILE
8931  goto tmp2_done;
8932  }
8933  case 9: {
8934 
8935  /* Pattern matching succeeded */
8936 #line 2625 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8937  _foldArg = omc_NFExpression_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))), ((modelica_fnptr) _func), _foldArg);
8938 #line 8938 OMC_FILE
8939 
8940 #line 2627 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8941  {
8942 #line 2627 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8943  modelica_metatype _i;
8944 #line 2627 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8945  for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 6))); !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
8946 #line 2627 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8947  {
8948 #line 2627 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8949  _i = MMC_CAR(tmpMeta[0]);
8950 #line 2628 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8951  _foldArg = omc_NFExpression_fold(threadData, omc_Util_tuple22(threadData, _i), ((modelica_fnptr) _func), _foldArg);
8952 #line 8952 OMC_FILE
8953  }
8954  }
8955 #line 8955 OMC_FILE
8956  goto tmp2_done;
8957  }
8958  }
8959  goto tmp2_end;
8960  tmp2_end: ;
8961  }
8962  goto goto_1;
8963  goto_1:;
8964  MMC_THROW_INTERNAL();
8965  goto tmp2_done;
8966  tmp2_done:;
8967  }
8968  }
8969  ;
8970  _return: OMC_LABEL_UNUSED
8971  return _foldArg;
8972 }
void * modelica_fnptr
DLLExport modelica_metatype omc_NFExpression_fold(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func, modelica_metatype _arg)
void * modelica_metatype
DLLExport modelica_metatype omc_NFExpression_foldList(threadData_t *threadData, modelica_metatype _expl, modelica_fnptr _func, modelica_metatype _arg)
DLLExport modelica_metatype omc_Util_tuple22(threadData_t *threadData, modelica_metatype _inTuple)
Definition: Util.c:5334
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_foldCref()

DLLExport modelica_metatype omc_NFExpression_foldCref ( threadData_t threadData,
modelica_metatype  _cref,
modelica_fnptr  _func,
modelica_metatype $in_arg 
)

Definition at line 8681 of file NFExpression.c.

8682 {
8683  modelica_metatype _arg = NULL;
8684  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
8685  MMC_SO();
8686  _tailrecursive: OMC_LABEL_UNUSED
8687  _arg = _$in_arg;
8688 #line 8688 OMC_FILE
8689  { /* match expression */
8690  modelica_metatype tmp3_1;
8691  tmp3_1 = _cref;
8692  {
8693  volatile mmc_switch_type tmp3;
8694  int tmp4;
8695  tmp3 = 0;
8696  for (; tmp3 < 2; tmp3++) {
8697  switch (MMC_SWITCH_CAST(tmp3)) {
8698  case 0: {
8699  modelica_integer tmp5;
8700  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,5) == 0) goto tmp2_end;
8701  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
8702  tmp5 = mmc_unbox_integer(tmpMeta[0]);
8703  if (1 != tmp5) goto tmp2_end;
8704 
8705  /* Pattern matching succeeded */
8706 #line 2648 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8707  tmpMeta[0] = mmc_mk_box1(0, ((modelica_fnptr) _func));
8708 #line 2648 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8709  _arg = omc_List_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 3))), (modelica_fnptr) mmc_mk_box2(0,closure2_NFSubscript_foldExp,tmpMeta[0]), _arg);
8710 #line 8710 OMC_FILE
8711 
8712 #line 2649 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
8713  _arg = omc_NFExpression_foldCref(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 6))), ((modelica_fnptr) _func), _arg);
8714 #line 8714 OMC_FILE
8715 #line 8715 OMC_FILE
8716  goto tmp2_done;
8717  }
8718  case 1: {
8719 
8720  /* Pattern matching succeeded */
8721 #line 8721 OMC_FILE
8722  goto tmp2_done;
8723  }
8724  }
8725  goto tmp2_end;
8726  tmp2_end: ;
8727  }
8728  goto goto_1;
8729  goto_1:;
8730  MMC_THROW_INTERNAL();
8731  goto tmp2_done;
8732  tmp2_done:;
8733  }
8734  }
8735  ;
8736  _return: OMC_LABEL_UNUSED
8737  return _arg;
8738 }
m_integer modelica_integer
float mmc_switch_type
DLLExport modelica_metatype omc_NFExpression_foldCref(threadData_t *threadData, modelica_metatype _cref, modelica_fnptr _func, modelica_metatype _ $in_arg)
void * modelica_fnptr
void * modelica_metatype
DLLExport modelica_metatype omc_List_fold(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFoldFunc, modelica_metatype _inStartValue)
Definition: List.c:9662
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_foldList()

DLLExport modelica_metatype omc_NFExpression_foldList ( threadData_t threadData,
modelica_metatype  _expl,
modelica_fnptr  _func,
modelica_metatype  _arg 
)

Definition at line 9367 of file NFExpression.c.

9368 {
9369  modelica_metatype _result = NULL;
9370  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
9371  MMC_SO();
9372  _tailrecursive: OMC_LABEL_UNUSED
9373  _result = _arg;
9374 #line 2415 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9375  {
9376 #line 2415 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9377  modelica_metatype _e;
9378 #line 2415 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9379  for (tmpMeta[0] = _expl; !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
9380 #line 2415 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9381  {
9382 #line 2415 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9383  _e = MMC_CAR(tmpMeta[0]);
9384 #line 2416 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9385  _result = omc_NFExpression_fold(threadData, _e, ((modelica_fnptr) _func), _result);
9386 #line 9386 OMC_FILE
9387  }
9388  }
9389  _return: OMC_LABEL_UNUSED
9390  return _result;
9391 }
void * modelica_fnptr
DLLExport modelica_metatype omc_NFExpression_fold(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func, modelica_metatype _arg)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_fromCref()

DLLExport modelica_metatype omc_NFExpression_fromCref ( threadData_t threadData,
modelica_metatype  _cref 
)

Definition at line 4134 of file NFExpression.c.

4135 {
4136  modelica_metatype _exp = NULL;
4137  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
4138  MMC_SO();
4139  _tailrecursive: OMC_LABEL_UNUSED
4140 #line 3912 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4141  tmpMeta[0] = mmc_mk_box3(8, &NFExpression_CREF__desc, omc_NFComponentRef_getSubscriptedType(threadData, _cref), _cref);
4142 #line 3912 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4143  _exp = tmpMeta[0];
4144 #line 4144 OMC_FILE
4145  _return: OMC_LABEL_UNUSED
4146  return _exp;
4147 }
DLLExport modelica_metatype omc_NFComponentRef_getSubscriptedType(threadData_t *threadData, modelica_metatype _cref)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
struct record_description NFExpression_CREF__desc
Here is the caller graph for this function:

◆ omc_NFExpression_hasArrayCall()

DLLExport modelica_boolean omc_NFExpression_hasArrayCall ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 2625 of file NFExpression.c.

2626 {
2627  modelica_boolean _hasArrayCall;
2628  MMC_SO();
2629  _tailrecursive: OMC_LABEL_UNUSED
2630 #line 4225 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2631  _hasArrayCall = omc_NFExpression_contains(threadData, _exp, boxvar_NFExpression_hasArrayCall2);
2632 #line 2632 OMC_FILE
2633  _return: OMC_LABEL_UNUSED
2634  return _hasArrayCall;
2635 }
signed char modelica_boolean
DLLExport modelica_boolean omc_NFExpression_contains(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_hasArrayCall2()

DLLExport modelica_boolean omc_NFExpression_hasArrayCall2 ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 2544 of file NFExpression.c.

2545 {
2546  modelica_boolean _hasArrayCall;
2547  modelica_metatype _call = NULL;
2548  modelica_metatype _ty = NULL;
2549  modelica_boolean tmp1 = 0;
2550  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
2551  MMC_SO();
2552  _tailrecursive: OMC_LABEL_UNUSED
2553 #line 2553 OMC_FILE
2554  { /* match expression */
2555  modelica_metatype tmp4_1;
2556  tmp4_1 = _exp;
2557  {
2558  volatile mmc_switch_type tmp4;
2559  int tmp5;
2560  tmp4 = 0;
2561  for (; tmp4 < 3; tmp4++) {
2562  switch (MMC_SWITCH_CAST(tmp4)) {
2563  case 0: {
2564  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,12,1) == 0) goto tmp3_end;
2565  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
2566  _call = tmpMeta[0];
2567  /* Pattern matching succeeded */
2568 #line 4238 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2569  _ty = omc_NFCall_Call_typeOf(threadData, _call);
2570 #line 2570 OMC_FILE
2571 #line 4239 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2572  tmp1 = (omc_NFType_isArray(threadData, _ty) && omc_NFCall_Call_isVectorizeable(threadData, _call));
2573 #line 2573 OMC_FILE
2574  goto tmp3_done;
2575  }
2576  case 1: {
2577  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,24,3) == 0) goto tmp3_end;
2578  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
2579  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],12,1) == 0) goto tmp3_end;
2580  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
2581 
2582  _call = tmpMeta[1];
2583  /* Pattern matching succeeded */
2584 #line 4244 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2585  _ty = omc_NFType_nthTupleType(threadData, omc_NFCall_Call_typeOf(threadData, _call), mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))));
2586 #line 2586 OMC_FILE
2587 #line 4245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2588  tmp1 = (omc_NFType_isArray(threadData, _ty) && omc_NFCall_Call_isVectorizeable(threadData, _call));
2589 #line 2589 OMC_FILE
2590  goto tmp3_done;
2591  }
2592  case 2: {
2593 
2594  /* Pattern matching succeeded */
2595 #line 4248 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2596  tmp1 = 0;
2597 #line 2597 OMC_FILE
2598  goto tmp3_done;
2599  }
2600  }
2601  goto tmp3_end;
2602  tmp3_end: ;
2603  }
2604  goto goto_2;
2605  goto_2:;
2606  MMC_THROW_INTERNAL();
2607  goto tmp3_done;
2608  tmp3_done:;
2609  }
2610  }
2611  _hasArrayCall = tmp1;
2612  _return: OMC_LABEL_UNUSED
2613  return _hasArrayCall;
2614 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
DLLExport modelica_metatype omc_NFType_nthTupleType(threadData_t *threadData, modelica_metatype _ty, modelica_integer _n)
Definition: NFType.c:2283
DLLExport modelica_metatype omc_NFCall_Call_typeOf(threadData_t *threadData, modelica_metatype _call)
Definition: NFCall.c:4812
DLLExport modelica_boolean omc_NFType_isArray(threadData_t *threadData, modelica_metatype _ty)
Definition: NFType.c:3495
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
DLLExport modelica_boolean omc_NFCall_Call_isVectorizeable(threadData_t *threadData, modelica_metatype _call)
Definition: NFCall.c:2476
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_integerValue()

DLLExport modelica_integer omc_NFExpression_integerValue ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 17785 of file NFExpression.c.

17786 {
17788  modelica_integer tmp1;
17789  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
17790  MMC_SO();
17791  _tailrecursive: OMC_LABEL_UNUSED
17792 #line 873 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17793  /* Pattern-matching assignment */
17794 #line 873 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17795  tmpMeta[0] = _exp;
17796 #line 873 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17797  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],0,1) == 0) MMC_THROW_INTERNAL();
17798 #line 873 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17799  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
17800 #line 873 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17801  tmp1 = mmc_unbox_integer(tmpMeta[1]);
17802 #line 873 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17803  _value = tmp1 /* pattern as ty=Integer */;
17804 #line 17804 OMC_FILE
17805  _return: OMC_LABEL_UNUSED
17806  return _value;
17807 }
m_integer modelica_integer
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_isAllTrue()

DLLExport modelica_boolean omc_NFExpression_isAllTrue ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 20076 of file NFExpression.c.

20077 {
20078  modelica_boolean _isTrue;
20079  modelica_boolean tmp1 = 0;
20080  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
20081  MMC_SO();
20082  _tailrecursive: OMC_LABEL_UNUSED
20083 #line 20083 OMC_FILE
20084  { /* match expression */
20085  modelica_metatype tmp4_1;
20086  tmp4_1 = _exp;
20087  {
20088  volatile mmc_switch_type tmp4;
20089  int tmp5;
20090  tmp4 = 0;
20091  for (; tmp4 < 3; tmp4++) {
20092  switch (MMC_SWITCH_CAST(tmp4)) {
20093  case 0: {
20094  modelica_integer tmp6;
20095  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,3,1) == 0) goto tmp3_end;
20096  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
20097  tmp6 = mmc_unbox_integer(tmpMeta[0]);
20098  if (1 != tmp6) goto tmp3_end;
20099  /* Pattern matching succeeded */
20100 #line 373 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20101  tmp1 = 1;
20102 #line 20102 OMC_FILE
20103  goto tmp3_done;
20104  }
20105  case 1: {
20106  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,7,3) == 0) goto tmp3_end;
20107 
20108  /* Pattern matching succeeded */
20109 #line 376 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20110  {
20111 #line 376 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20112  modelica_metatype _e;
20113 #line 376 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20114  for (tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))); !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
20115 #line 376 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20116  {
20117 #line 376 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20118  _e = MMC_CAR(tmpMeta[0]);
20119 #line 377 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20120  if((!omc_NFExpression_isAllTrue(threadData, _e)))
20121 #line 377 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20122  {
20123 #line 378 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20124  _isTrue = 0;
20125 #line 20125 OMC_FILE
20126 
20127 #line 379 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20128  goto _return;
20129 #line 20129 OMC_FILE
20130  }
20131  }
20132  }
20133 #line 382 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20134  tmp1 = 1;
20135 #line 20135 OMC_FILE
20136  goto tmp3_done;
20137  }
20138  case 2: {
20139 
20140  /* Pattern matching succeeded */
20141 #line 385 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20142  tmp1 = 0;
20143 #line 20143 OMC_FILE
20144  goto tmp3_done;
20145  }
20146  }
20147  goto tmp3_end;
20148  tmp3_end: ;
20149  }
20150  goto goto_2;
20151  goto_2:;
20152  MMC_THROW_INTERNAL();
20153  goto tmp3_done;
20154  tmp3_done:;
20155  }
20156  }
20157  _isTrue = tmp1;
20158  _return: OMC_LABEL_UNUSED
20159  return _isTrue;
20160 }
m_integer modelica_integer
signed char modelica_boolean
float mmc_switch_type
DLLExport modelica_boolean omc_NFExpression_isAllTrue(threadData_t *threadData, modelica_metatype _exp)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_isArray()

DLLExport modelica_boolean omc_NFExpression_isArray ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 20410 of file NFExpression.c.

20411 {
20412  modelica_boolean _isArray;
20413  modelica_boolean tmp1 = 0;
20414  MMC_SO();
20415  _tailrecursive: OMC_LABEL_UNUSED
20416 #line 20416 OMC_FILE
20417  { /* match expression */
20418  modelica_metatype tmp4_1;
20419  tmp4_1 = _exp;
20420  {
20421  volatile mmc_switch_type tmp4;
20422  int tmp5;
20423  tmp4 = 0;
20424  for (; tmp4 < 2; tmp4++) {
20425  switch (MMC_SWITCH_CAST(tmp4)) {
20426  case 0: {
20427  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,7,3) == 0) goto tmp3_end;
20428 
20429  /* Pattern matching succeeded */
20430 #line 323 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20431  tmp1 = 1;
20432 #line 20432 OMC_FILE
20433  goto tmp3_done;
20434  }
20435  case 1: {
20436 
20437  /* Pattern matching succeeded */
20438 #line 324 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20439  tmp1 = 0;
20440 #line 20440 OMC_FILE
20441  goto tmp3_done;
20442  }
20443  }
20444  goto tmp3_end;
20445  tmp3_end: ;
20446  }
20447  goto goto_2;
20448  goto_2:;
20449  MMC_THROW_INTERNAL();
20450  goto tmp3_done;
20451  tmp3_done:;
20452  }
20453  }
20454  _isArray = tmp1;
20455  _return: OMC_LABEL_UNUSED
20456  return _isArray;
20457 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_NFExpression_isAssociativeExp()

DLLExport modelica_boolean omc_NFExpression_isAssociativeExp ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 14423 of file NFExpression.c.

14424 {
14425  modelica_boolean _isAssociative;
14426  modelica_boolean tmp1 = 0;
14427  MMC_SO();
14428  _tailrecursive: OMC_LABEL_UNUSED
14429 #line 14429 OMC_FILE
14430  { /* match expression */
14431  modelica_metatype tmp4_1;
14432  tmp4_1 = _exp;
14433  {
14434  int tmp4;
14435  {
14436  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
14437  case 18: {
14438 
14439  /* Pattern matching succeeded */
14440 #line 1550 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14441  tmp1 = omc_NFOperator_isAssociative(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
14442 #line 14442 OMC_FILE
14443  goto tmp3_done;
14444  }
14445  case 20: {
14446 
14447  /* Pattern matching succeeded */
14448 #line 1551 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14449  tmp1 = 1;
14450 #line 14450 OMC_FILE
14451  goto tmp3_done;
14452  }
14453  default:
14454  tmp3_default: OMC_LABEL_UNUSED; {
14455 
14456  /* Pattern matching succeeded */
14457 #line 1552 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14458  tmp1 = 0;
14459 #line 14459 OMC_FILE
14460  goto tmp3_done;
14461  }
14462  }
14463  goto tmp3_end;
14464  tmp3_end: ;
14465  }
14466  goto goto_2;
14467  goto_2:;
14468  MMC_THROW_INTERNAL();
14469  goto tmp3_done;
14470  tmp3_done:;
14471  }
14472  }
14473  _isAssociative = tmp1;
14474  _return: OMC_LABEL_UNUSED
14475  return _isAssociative;
14476 }
DLLExport modelica_boolean omc_NFOperator_isAssociative(threadData_t *threadData, modelica_metatype _op)
Definition: NFOperator.c:751
signed char modelica_boolean
void * modelica_metatype
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_isBoolean()

DLLExport modelica_boolean omc_NFExpression_isBoolean ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 3441 of file NFExpression.c.

3442 {
3443  modelica_boolean _isBool;
3444  modelica_boolean tmp1 = 0;
3445  MMC_SO();
3446  _tailrecursive: OMC_LABEL_UNUSED
3447 #line 3447 OMC_FILE
3448  { /* match expression */
3449  modelica_metatype tmp4_1;
3450  tmp4_1 = _exp;
3451  {
3452  volatile mmc_switch_type tmp4;
3453  int tmp5;
3454  tmp4 = 0;
3455  for (; tmp4 < 2; tmp4++) {
3456  switch (MMC_SWITCH_CAST(tmp4)) {
3457  case 0: {
3458  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,3,1) == 0) goto tmp3_end;
3459 
3460  /* Pattern matching succeeded */
3461 #line 4031 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3462  tmp1 = 1;
3463 #line 3463 OMC_FILE
3464  goto tmp3_done;
3465  }
3466  case 1: {
3467 
3468  /* Pattern matching succeeded */
3469 #line 4032 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3470  tmp1 = 0;
3471 #line 3471 OMC_FILE
3472  goto tmp3_done;
3473  }
3474  }
3475  goto tmp3_end;
3476  tmp3_end: ;
3477  }
3478  goto goto_2;
3479  goto_2:;
3480  MMC_THROW_INTERNAL();
3481  goto tmp3_done;
3482  tmp3_done:;
3483  }
3484  }
3485  _isBool = tmp1;
3486  _return: OMC_LABEL_UNUSED
3487  return _isBool;
3488 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_NFExpression_isCall()

DLLExport modelica_boolean omc_NFExpression_isCall ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 20233 of file NFExpression.c.

20234 {
20235  modelica_boolean _isCall;
20236  modelica_boolean tmp1 = 0;
20237  MMC_SO();
20238  _tailrecursive: OMC_LABEL_UNUSED
20239 #line 20239 OMC_FILE
20240  { /* match expression */
20241  modelica_metatype tmp4_1;
20242  tmp4_1 = _exp;
20243  {
20244  volatile mmc_switch_type tmp4;
20245  int tmp5;
20246  tmp4 = 0;
20247  for (; tmp4 < 2; tmp4++) {
20248  switch (MMC_SWITCH_CAST(tmp4)) {
20249  case 0: {
20250  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,12,1) == 0) goto tmp3_end;
20251 
20252  /* Pattern matching succeeded */
20253 #line 353 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20254  tmp1 = 1;
20255 #line 20255 OMC_FILE
20256  goto tmp3_done;
20257  }
20258  case 1: {
20259 
20260  /* Pattern matching succeeded */
20261 #line 354 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20262  tmp1 = 0;
20263 #line 20263 OMC_FILE
20264  goto tmp3_done;
20265  }
20266  }
20267  goto tmp3_end;
20268  tmp3_end: ;
20269  }
20270  goto goto_2;
20271  goto_2:;
20272  MMC_THROW_INTERNAL();
20273  goto tmp3_done;
20274  tmp3_done:;
20275  }
20276  }
20277  _isCall = tmp1;
20278  _return: OMC_LABEL_UNUSED
20279  return _isCall;
20280 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_NFExpression_isCref()

DLLExport modelica_boolean omc_NFExpression_isCref ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 20291 of file NFExpression.c.

20292 {
20293  modelica_boolean _isCref;
20294  modelica_boolean tmp1 = 0;
20295  MMC_SO();
20296  _tailrecursive: OMC_LABEL_UNUSED
20297 #line 20297 OMC_FILE
20298  { /* match expression */
20299  modelica_metatype tmp4_1;
20300  tmp4_1 = _exp;
20301  {
20302  volatile mmc_switch_type tmp4;
20303  int tmp5;
20304  tmp4 = 0;
20305  for (; tmp4 < 2; tmp4++) {
20306  switch (MMC_SWITCH_CAST(tmp4)) {
20307  case 0: {
20308  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,5,2) == 0) goto tmp3_end;
20309 
20310  /* Pattern matching succeeded */
20311 #line 343 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20312  tmp1 = 1;
20313 #line 20313 OMC_FILE
20314  goto tmp3_done;
20315  }
20316  case 1: {
20317 
20318  /* Pattern matching succeeded */
20319 #line 344 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20320  tmp1 = 0;
20321 #line 20321 OMC_FILE
20322  goto tmp3_done;
20323  }
20324  }
20325  goto tmp3_end;
20326  tmp3_end: ;
20327  }
20328  goto goto_2;
20329  goto_2:;
20330  MMC_THROW_INTERNAL();
20331  goto tmp3_done;
20332  tmp3_done:;
20333  }
20334  }
20335  _isCref = tmp1;
20336  _return: OMC_LABEL_UNUSED
20337  return _isCref;
20338 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_NFExpression_isEmpty()

DLLExport modelica_boolean omc_NFExpression_isEmpty ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 1280 of file NFExpression.c.

1281 {
1282  modelica_boolean _empty;
1283  modelica_boolean tmp1 = 0;
1284  MMC_SO();
1285  _tailrecursive: OMC_LABEL_UNUSED
1286 #line 1286 OMC_FILE
1287  { /* match expression */
1288  modelica_metatype tmp4_1;
1289  tmp4_1 = _exp;
1290  {
1291  volatile mmc_switch_type tmp4;
1292  int tmp5;
1293  tmp4 = 0;
1294  for (; tmp4 < 2; tmp4++) {
1295  switch (MMC_SWITCH_CAST(tmp4)) {
1296  case 0: {
1297  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,28,1) == 0) goto tmp3_end;
1298 
1299  /* Pattern matching succeeded */
1300 #line 4501 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1301  tmp1 = 1;
1302 #line 1302 OMC_FILE
1303  goto tmp3_done;
1304  }
1305  case 1: {
1306 
1307  /* Pattern matching succeeded */
1308 #line 4502 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1309  tmp1 = 0;
1310 #line 1310 OMC_FILE
1311  goto tmp3_done;
1312  }
1313  }
1314  goto tmp3_end;
1315  tmp3_end: ;
1316  }
1317  goto goto_2;
1318  goto_2:;
1319  MMC_THROW_INTERNAL();
1320  goto tmp3_done;
1321  tmp3_done:;
1322  }
1323  }
1324  _empty = tmp1;
1325  _return: OMC_LABEL_UNUSED
1326  return _empty;
1327 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_NFExpression_isEmptyArray()

DLLExport modelica_boolean omc_NFExpression_isEmptyArray ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 20349 of file NFExpression.c.

20350 {
20351  modelica_boolean _emptyArray;
20352  modelica_boolean tmp1 = 0;
20353  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
20354  MMC_SO();
20355  _tailrecursive: OMC_LABEL_UNUSED
20356 #line 20356 OMC_FILE
20357  { /* match expression */
20358  modelica_metatype tmp4_1;
20359  tmp4_1 = _exp;
20360  {
20361  volatile mmc_switch_type tmp4;
20362  int tmp5;
20363  tmp4 = 0;
20364  for (; tmp4 < 2; tmp4++) {
20365  switch (MMC_SWITCH_CAST(tmp4)) {
20366  case 0: {
20367  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,7,3) == 0) goto tmp3_end;
20368  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 3));
20369  if (!listEmpty(tmpMeta[0])) goto tmp3_end;
20370 
20371  /* Pattern matching succeeded */
20372 #line 333 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20373  tmp1 = 1;
20374 #line 20374 OMC_FILE
20375  goto tmp3_done;
20376  }
20377  case 1: {
20378 
20379  /* Pattern matching succeeded */
20380 #line 334 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20381  tmp1 = 0;
20382 #line 20382 OMC_FILE
20383  goto tmp3_done;
20384  }
20385  }
20386  goto tmp3_end;
20387  tmp3_end: ;
20388  }
20389  goto goto_2;
20390  goto_2:;
20391  MMC_THROW_INTERNAL();
20392  goto tmp3_done;
20393  tmp3_done:;
20394  }
20395  }
20396  _emptyArray = tmp1;
20397  _return: OMC_LABEL_UNUSED
20398  return _emptyArray;
20399 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_isEqual()

DLLExport modelica_boolean omc_NFExpression_isEqual ( threadData_t threadData,
modelica_metatype  _exp1,
modelica_metatype  _exp2 
)

Definition at line 19993 of file NFExpression.c.

19994 {
19995  modelica_boolean _isEqual;
19996  MMC_SO();
19997  _tailrecursive: OMC_LABEL_UNUSED
19998 #line 405 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
19999  _isEqual = (((modelica_integer) 0) == omc_NFExpression_compare(threadData, _exp1, _exp2));
20000 #line 20000 OMC_FILE
20001  _return: OMC_LABEL_UNUSED
20002  return _isEqual;
20003 }
m_integer modelica_integer
signed char modelica_boolean
DLLExport modelica_integer omc_NFExpression_compare(threadData_t *threadData, modelica_metatype _exp1, modelica_metatype _exp2)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_isFalse()

DLLExport modelica_boolean omc_NFExpression_isFalse ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 20014 of file NFExpression.c.

20015 {
20016  modelica_boolean _isTrue;
20017  modelica_boolean tmp1 = 0;
20018  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
20019  MMC_SO();
20020  _tailrecursive: OMC_LABEL_UNUSED
20021 #line 20021 OMC_FILE
20022  { /* match expression */
20023  modelica_metatype tmp4_1;
20024  tmp4_1 = _exp;
20025  {
20026  volatile mmc_switch_type tmp4;
20027  int tmp5;
20028  tmp4 = 0;
20029  for (; tmp4 < 2; tmp4++) {
20030  switch (MMC_SWITCH_CAST(tmp4)) {
20031  case 0: {
20032  modelica_integer tmp6;
20033  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,3,1) == 0) goto tmp3_end;
20034  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
20035  tmp6 = mmc_unbox_integer(tmpMeta[0]);
20036  if (0 != tmp6) goto tmp3_end;
20037  /* Pattern matching succeeded */
20038 #line 394 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20039  tmp1 = 1;
20040 #line 20040 OMC_FILE
20041  goto tmp3_done;
20042  }
20043  case 1: {
20044 
20045  /* Pattern matching succeeded */
20046 #line 395 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20047  tmp1 = 0;
20048 #line 20048 OMC_FILE
20049  goto tmp3_done;
20050  }
20051  }
20052  goto tmp3_end;
20053  tmp3_end: ;
20054  }
20055  goto goto_2;
20056  goto_2:;
20057  MMC_THROW_INTERNAL();
20058  goto tmp3_done;
20059  tmp3_done:;
20060  }
20061  }
20062  _isTrue = tmp1;
20063  _return: OMC_LABEL_UNUSED
20064  return _isTrue;
20065 }
m_integer modelica_integer
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_isInteger()

DLLExport modelica_boolean omc_NFExpression_isInteger ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 3499 of file NFExpression.c.

3500 {
3501  modelica_boolean _isInteger;
3502  modelica_boolean tmp1 = 0;
3503  MMC_SO();
3504  _tailrecursive: OMC_LABEL_UNUSED
3505 #line 3505 OMC_FILE
3506  { /* match expression */
3507  modelica_metatype tmp4_1;
3508  tmp4_1 = _exp;
3509  {
3510  volatile mmc_switch_type tmp4;
3511  int tmp5;
3512  tmp4 = 0;
3513  for (; tmp4 < 2; tmp4++) {
3514  switch (MMC_SWITCH_CAST(tmp4)) {
3515  case 0: {
3516  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,1) == 0) goto tmp3_end;
3517 
3518  /* Pattern matching succeeded */
3519 #line 4021 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3520  tmp1 = 1;
3521 #line 3521 OMC_FILE
3522  goto tmp3_done;
3523  }
3524  case 1: {
3525 
3526  /* Pattern matching succeeded */
3527 #line 4022 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3528  tmp1 = 0;
3529 #line 3529 OMC_FILE
3530  goto tmp3_done;
3531  }
3532  }
3533  goto tmp3_end;
3534  tmp3_end: ;
3535  }
3536  goto goto_2;
3537  goto_2:;
3538  MMC_THROW_INTERNAL();
3539  goto tmp3_done;
3540  tmp3_done:;
3541  }
3542  }
3543  _isInteger = tmp1;
3544  _return: OMC_LABEL_UNUSED
3545  return _isInteger;
3546 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_NFExpression_isIterator()

DLLExport modelica_boolean omc_NFExpression_isIterator ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 4054 of file NFExpression.c.

4055 {
4056  modelica_boolean _isIterator;
4057  modelica_boolean tmp1 = 0;
4058  MMC_SO();
4059  _tailrecursive: OMC_LABEL_UNUSED
4060 #line 4060 OMC_FILE
4061  { /* match expression */
4062  modelica_metatype tmp4_1;
4063  tmp4_1 = _exp;
4064  {
4065  volatile mmc_switch_type tmp4;
4066  int tmp5;
4067  tmp4 = 0;
4068  for (; tmp4 < 2; tmp4++) {
4069  switch (MMC_SWITCH_CAST(tmp4)) {
4070  case 0: {
4071  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,5,2) == 0) goto tmp3_end;
4072 
4073  /* Pattern matching succeeded */
4074 #line 3927 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4075  tmp1 = omc_NFComponentRef_isIterator(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
4076 #line 4076 OMC_FILE
4077  goto tmp3_done;
4078  }
4079  case 1: {
4080 
4081  /* Pattern matching succeeded */
4082 #line 3928 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4083  tmp1 = 0;
4084 #line 4084 OMC_FILE
4085  goto tmp3_done;
4086  }
4087  }
4088  goto tmp3_end;
4089  tmp3_end: ;
4090  }
4091  goto goto_2;
4092  goto_2:;
4093  MMC_THROW_INTERNAL();
4094  goto tmp3_done;
4095  tmp3_done:;
4096  }
4097  }
4098  _isIterator = tmp1;
4099  _return: OMC_LABEL_UNUSED
4100  return _isIterator;
4101 }
signed char modelica_boolean
float mmc_switch_type
DLLExport modelica_boolean omc_NFComponentRef_isIterator(threadData_t *threadData, modelica_metatype _cref)
void * modelica_metatype
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_isLiteral()

DLLExport modelica_boolean omc_NFExpression_isLiteral ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 3557 of file NFExpression.c.

3558 {
3559  modelica_boolean _literal;
3560  modelica_boolean tmp1 = 0;
3561  MMC_SO();
3562  _tailrecursive: OMC_LABEL_UNUSED
3563 #line 3563 OMC_FILE
3564  { /* match expression */
3565  modelica_metatype tmp4_1;
3566  tmp4_1 = _exp;
3567  {
3568  int tmp4;
3569  {
3570  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
3571  case 3: {
3572 
3573  /* Pattern matching succeeded */
3574 #line 4002 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3575  tmp1 = 1;
3576 #line 3576 OMC_FILE
3577  goto tmp3_done;
3578  }
3579  case 4: {
3580 
3581  /* Pattern matching succeeded */
3582 #line 4003 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3583  tmp1 = 1;
3584 #line 3584 OMC_FILE
3585  goto tmp3_done;
3586  }
3587  case 5: {
3588 
3589  /* Pattern matching succeeded */
3590 #line 4004 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3591  tmp1 = 1;
3592 #line 3592 OMC_FILE
3593  goto tmp3_done;
3594  }
3595  case 6: {
3596 
3597  /* Pattern matching succeeded */
3598 #line 4005 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3599  tmp1 = 1;
3600 #line 3600 OMC_FILE
3601  goto tmp3_done;
3602  }
3603  case 7: {
3604 
3605  /* Pattern matching succeeded */
3606 #line 4006 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3607  tmp1 = 1;
3608 #line 3608 OMC_FILE
3609  goto tmp3_done;
3610  }
3611  case 10: {
3612 
3613  /* Pattern matching succeeded */
3614 #line 4007 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3615  tmp1 = omc_List_all(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), boxvar_NFExpression_isLiteral);
3616 #line 3616 OMC_FILE
3617  goto tmp3_done;
3618  }
3619  case 14: {
3620 
3621  /* Pattern matching succeeded */
3622 #line 4008 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3623  tmp1 = omc_List_all(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), boxvar_NFExpression_isLiteral);
3624 #line 3624 OMC_FILE
3625  goto tmp3_done;
3626  }
3627  case 12: {
3628 
3629  /* Pattern matching succeeded */
3630 #line 4009 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3631  tmp1 = ((omc_NFExpression_isLiteral(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))) && omc_NFExpression_isLiteral(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))))) && mmc_unbox_boolean(omc_Util_applyOptionOrDefault(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), boxvar_NFExpression_isLiteral, mmc_mk_boolean(1))));
3632 #line 3632 OMC_FILE
3633  goto tmp3_done;
3634  }
3635  default:
3636  tmp3_default: OMC_LABEL_UNUSED; {
3637 
3638  /* Pattern matching succeeded */
3639 #line 4012 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3640  tmp1 = 0;
3641 #line 3641 OMC_FILE
3642  goto tmp3_done;
3643  }
3644  }
3645  goto tmp3_end;
3646  tmp3_end: ;
3647  }
3648  goto goto_2;
3649  goto_2:;
3650  MMC_THROW_INTERNAL();
3651  goto tmp3_done;
3652  tmp3_done:;
3653  }
3654  }
3655  _literal = tmp1;
3656  _return: OMC_LABEL_UNUSED
3657  return _literal;
3658 }
signed char modelica_boolean
DLLExport modelica_metatype omc_Util_applyOptionOrDefault(threadData_t *threadData, modelica_metatype _inValue, modelica_fnptr _inFunc, modelica_metatype _inDefaultValue)
Definition: Util.c:3816
DLLExport modelica_boolean omc_NFExpression_isLiteral(threadData_t *threadData, modelica_metatype _exp)
void * modelica_metatype
DLLExport modelica_boolean omc_List_all(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFunc)
Definition: List.c:259
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_isMutable()

DLLExport modelica_boolean omc_NFExpression_isMutable ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 1338 of file NFExpression.c.

1339 {
1340  modelica_boolean _isMutable;
1341  modelica_boolean tmp1 = 0;
1342  MMC_SO();
1343  _tailrecursive: OMC_LABEL_UNUSED
1344 #line 1344 OMC_FILE
1345  { /* match expression */
1346  modelica_metatype tmp4_1;
1347  tmp4_1 = _exp;
1348  {
1349  volatile mmc_switch_type tmp4;
1350  int tmp5;
1351  tmp4 = 0;
1352  for (; tmp4 < 2; tmp4++) {
1353  switch (MMC_SWITCH_CAST(tmp4)) {
1354  case 0: {
1355  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,27,1) == 0) goto tmp3_end;
1356 
1357  /* Pattern matching succeeded */
1358 #line 4491 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1359  tmp1 = 1;
1360 #line 1360 OMC_FILE
1361  goto tmp3_done;
1362  }
1363  case 1: {
1364 
1365  /* Pattern matching succeeded */
1366 #line 4492 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1367  tmp1 = 0;
1368 #line 1368 OMC_FILE
1369  goto tmp3_done;
1370  }
1371  }
1372  goto tmp3_end;
1373  tmp3_end: ;
1374  }
1375  goto goto_2;
1376  goto_2:;
1377  MMC_THROW_INTERNAL();
1378  goto tmp3_done;
1379  tmp3_done:;
1380  }
1381  }
1382  _isMutable = tmp1;
1383  _return: OMC_LABEL_UNUSED
1384  return _isMutable;
1385 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_NFExpression_isOne()

DLLExport modelica_boolean omc_NFExpression_isOne ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 3850 of file NFExpression.c.

3851 {
3852  modelica_boolean _isOne;
3853  modelica_boolean tmp1 = 0;
3854  MMC_SO();
3855  _tailrecursive: OMC_LABEL_UNUSED
3856 #line 3856 OMC_FILE
3857  { /* match expression */
3858  modelica_metatype tmp4_1;
3859  tmp4_1 = _exp;
3860  {
3861  int tmp4;
3862  {
3863  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
3864  case 3: {
3865 
3866  /* Pattern matching succeeded */
3867 #line 3962 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3868  tmp1 = (mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))) == ((modelica_integer) 1));
3869 #line 3869 OMC_FILE
3870  goto tmp3_done;
3871  }
3872  case 4: {
3873 
3874  /* Pattern matching succeeded */
3875 #line 3963 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3876  tmp1 = (mmc_unbox_real((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))) == 1.0);
3877 #line 3877 OMC_FILE
3878  goto tmp3_done;
3879  }
3880  case 24: {
3881 
3882  /* Pattern matching succeeded */
3883 #line 3964 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3884  /* Tail recursive call */
3885 #line 3964 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3886  _exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
3887 #line 3964 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3888  goto _tailrecursive;
3889 #line 3964 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3890  /* TODO: Make sure any eventual dead code below is never generated */
3891 #line 3891 OMC_FILE
3892  goto tmp3_done;
3893  }
3894  default:
3895  tmp3_default: OMC_LABEL_UNUSED; {
3896 
3897  /* Pattern matching succeeded */
3898 #line 3965 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3899  tmp1 = 0;
3900 #line 3900 OMC_FILE
3901  goto tmp3_done;
3902  }
3903  }
3904  goto tmp3_end;
3905  tmp3_end: ;
3906  }
3907  goto goto_2;
3908  goto_2:;
3909  MMC_THROW_INTERNAL();
3910  goto tmp3_done;
3911  tmp3_done:;
3912  }
3913  }
3914  _isOne = tmp1;
3915  _return: OMC_LABEL_UNUSED
3916  return _isOne;
3917 }
m_integer modelica_integer
signed char modelica_boolean
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_NFExpression_isPositive()

DLLExport modelica_boolean omc_NFExpression_isPositive ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 3757 of file NFExpression.c.

3758 {
3759  modelica_boolean _positive;
3760  modelica_boolean tmp1 = 0;
3761  MMC_SO();
3762  _tailrecursive: OMC_LABEL_UNUSED
3763 #line 3763 OMC_FILE
3764  { /* match expression */
3765  modelica_metatype tmp4_1;
3766  tmp4_1 = _exp;
3767  {
3768  int tmp4;
3769  {
3770  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
3771  case 3: {
3772 
3773  /* Pattern matching succeeded */
3774 #line 3974 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3775  tmp1 = (mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))) > ((modelica_integer) 0));
3776 #line 3776 OMC_FILE
3777  goto tmp3_done;
3778  }
3779  case 4: {
3780 
3781  /* Pattern matching succeeded */
3782 #line 3975 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3783  tmp1 = (mmc_unbox_real((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))) > 0.0);
3784 #line 3784 OMC_FILE
3785  goto tmp3_done;
3786  }
3787  case 6: {
3788 
3789  /* Pattern matching succeeded */
3790 #line 3976 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3791  tmp1 = 1;
3792 #line 3792 OMC_FILE
3793  goto tmp3_done;
3794  }
3795  case 7: {
3796 
3797  /* Pattern matching succeeded */
3798 #line 3977 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3799  tmp1 = 1;
3800 #line 3800 OMC_FILE
3801  goto tmp3_done;
3802  }
3803  case 24: {
3804 
3805  /* Pattern matching succeeded */
3806 #line 3978 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3807  /* Tail recursive call */
3808 #line 3978 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3809  _exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
3810 #line 3978 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3811  goto _tailrecursive;
3812 #line 3978 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3813  /* TODO: Make sure any eventual dead code below is never generated */
3814 #line 3814 OMC_FILE
3815  goto tmp3_done;
3816  }
3817  case 19: {
3818 
3819  /* Pattern matching succeeded */
3820 #line 3979 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3821  tmp1 = (!omc_NFExpression_isPositive(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))));
3822 #line 3822 OMC_FILE
3823  goto tmp3_done;
3824  }
3825  }
3826  goto tmp3_end;
3827  tmp3_end: ;
3828  }
3829  goto goto_2;
3830  goto_2:;
3831  MMC_THROW_INTERNAL();
3832  goto tmp3_done;
3833  tmp3_done:;
3834  }
3835  }
3836  _positive = tmp1;
3837  _return: OMC_LABEL_UNUSED
3838  return _positive;
3839 }
m_integer modelica_integer
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_NFExpression_isPositive(threadData_t *threadData, modelica_metatype _exp)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_isRecord()

DLLExport modelica_boolean omc_NFExpression_isRecord ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 3383 of file NFExpression.c.

3384 {
3385  modelica_boolean _isRecord;
3386  modelica_boolean tmp1 = 0;
3387  MMC_SO();
3388  _tailrecursive: OMC_LABEL_UNUSED
3389 #line 3389 OMC_FILE
3390  { /* match expression */
3391  modelica_metatype tmp4_1;
3392  tmp4_1 = _exp;
3393  {
3394  volatile mmc_switch_type tmp4;
3395  int tmp5;
3396  tmp4 = 0;
3397  for (; tmp4 < 2; tmp4++) {
3398  switch (MMC_SWITCH_CAST(tmp4)) {
3399  case 0: {
3400  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,11,3) == 0) goto tmp3_end;
3401 
3402  /* Pattern matching succeeded */
3403 #line 4041 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3404  tmp1 = 1;
3405 #line 3405 OMC_FILE
3406  goto tmp3_done;
3407  }
3408  case 1: {
3409 
3410  /* Pattern matching succeeded */
3411 #line 4042 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3412  tmp1 = 0;
3413 #line 3413 OMC_FILE
3414  goto tmp3_done;
3415  }
3416  }
3417  goto tmp3_end;
3418  tmp3_end: ;
3419  }
3420  goto goto_2;
3421  goto_2:;
3422  MMC_THROW_INTERNAL();
3423  goto tmp3_done;
3424  tmp3_done:;
3425  }
3426  }
3427  _isRecord = tmp1;
3428  _return: OMC_LABEL_UNUSED
3429  return _isRecord;
3430 }
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_NFExpression_isRecordOrRecordArray()

DLLExport modelica_boolean omc_NFExpression_isRecordOrRecordArray ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 3319 of file NFExpression.c.

3320 {
3321  modelica_boolean _isRecord;
3322  modelica_boolean tmp1 = 0;
3323  MMC_SO();
3324  _tailrecursive: OMC_LABEL_UNUSED
3325 #line 3325 OMC_FILE
3326  { /* match expression */
3327  modelica_metatype tmp4_1;
3328  tmp4_1 = _exp;
3329  {
3330  int tmp4;
3331  {
3332  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
3333  case 14: {
3334 
3335  /* Pattern matching succeeded */
3336 #line 4051 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3337  tmp1 = 1;
3338 #line 3338 OMC_FILE
3339  goto tmp3_done;
3340  }
3341  case 10: {
3342 
3343  /* Pattern matching succeeded */
3344 #line 4052 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3345  tmp1 = omc_List_all(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), boxvar_NFExpression_isRecordOrRecordArray);
3346 #line 3346 OMC_FILE
3347  goto tmp3_done;
3348  }
3349  default:
3350  tmp3_default: OMC_LABEL_UNUSED; {
3351 
3352  /* Pattern matching succeeded */
3353 #line 4053 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3354  tmp1 = 0;
3355 #line 3355 OMC_FILE
3356  goto tmp3_done;
3357  }
3358  }
3359  goto tmp3_end;
3360  tmp3_end: ;
3361  }
3362  goto goto_2;
3363  goto_2:;
3364  MMC_THROW_INTERNAL();
3365  goto tmp3_done;
3366  tmp3_done:;
3367  }
3368  }
3369  _isRecord = tmp1;
3370  _return: OMC_LABEL_UNUSED
3371  return _isRecord;
3372 }
signed char modelica_boolean
void * modelica_metatype
DLLExport modelica_boolean omc_List_all(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFunc)
Definition: List.c:259
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_isScalarLiteral()

DLLExport modelica_boolean omc_NFExpression_isScalarLiteral ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 3669 of file NFExpression.c.

3670 {
3671  modelica_boolean _literal;
3672  modelica_boolean tmp1 = 0;
3673  MMC_SO();
3674  _tailrecursive: OMC_LABEL_UNUSED
3675 #line 3675 OMC_FILE
3676  { /* match expression */
3677  modelica_metatype tmp4_1;
3678  tmp4_1 = _exp;
3679  {
3680  int tmp4;
3681  {
3682  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
3683  case 3: {
3684 
3685  /* Pattern matching succeeded */
3686 #line 3988 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3687  tmp1 = 1;
3688 #line 3688 OMC_FILE
3689  goto tmp3_done;
3690  }
3691  case 4: {
3692 
3693  /* Pattern matching succeeded */
3694 #line 3989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3695  tmp1 = 1;
3696 #line 3696 OMC_FILE
3697  goto tmp3_done;
3698  }
3699  case 5: {
3700 
3701  /* Pattern matching succeeded */
3702 #line 3990 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3703  tmp1 = 1;
3704 #line 3704 OMC_FILE
3705  goto tmp3_done;
3706  }
3707  case 6: {
3708 
3709  /* Pattern matching succeeded */
3710 #line 3991 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3711  tmp1 = 1;
3712 #line 3712 OMC_FILE
3713  goto tmp3_done;
3714  }
3715  case 7: {
3716 
3717  /* Pattern matching succeeded */
3718 #line 3992 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3719  tmp1 = 1;
3720 #line 3720 OMC_FILE
3721  goto tmp3_done;
3722  }
3723  default:
3724  tmp3_default: OMC_LABEL_UNUSED; {
3725 
3726  /* Pattern matching succeeded */
3727 #line 3993 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3728  tmp1 = 0;
3729 #line 3729 OMC_FILE
3730  goto tmp3_done;
3731  }
3732  }
3733  goto tmp3_end;
3734  tmp3_end: ;
3735  }
3736  goto goto_2;
3737  goto_2:;
3738  MMC_THROW_INTERNAL();
3739  goto tmp3_done;
3740  tmp3_done:;
3741  }
3742  }
3743  _literal = tmp1;
3744  _return: OMC_LABEL_UNUSED
3745  return _literal;
3746 }
signed char modelica_boolean
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_NFExpression_isTrue()

DLLExport modelica_boolean omc_NFExpression_isTrue ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 20171 of file NFExpression.c.

20172 {
20173  modelica_boolean _isTrue;
20174  modelica_boolean tmp1 = 0;
20175  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
20176  MMC_SO();
20177  _tailrecursive: OMC_LABEL_UNUSED
20178 #line 20178 OMC_FILE
20179  { /* match expression */
20180  modelica_metatype tmp4_1;
20181  tmp4_1 = _exp;
20182  {
20183  volatile mmc_switch_type tmp4;
20184  int tmp5;
20185  tmp4 = 0;
20186  for (; tmp4 < 2; tmp4++) {
20187  switch (MMC_SWITCH_CAST(tmp4)) {
20188  case 0: {
20189  modelica_integer tmp6;
20190  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,3,1) == 0) goto tmp3_end;
20191  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
20192  tmp6 = mmc_unbox_integer(tmpMeta[0]);
20193  if (1 != tmp6) goto tmp3_end;
20194  /* Pattern matching succeeded */
20195 #line 363 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20196  tmp1 = 1;
20197 #line 20197 OMC_FILE
20198  goto tmp3_done;
20199  }
20200  case 1: {
20201 
20202  /* Pattern matching succeeded */
20203 #line 364 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
20204  tmp1 = 0;
20205 #line 20205 OMC_FILE
20206  goto tmp3_done;
20207  }
20208  }
20209  goto tmp3_end;
20210  tmp3_end: ;
20211  }
20212  goto goto_2;
20213  goto_2:;
20214  MMC_THROW_INTERNAL();
20215  goto tmp3_done;
20216  tmp3_done:;
20217  }
20218  }
20219  _isTrue = tmp1;
20220  _return: OMC_LABEL_UNUSED
20221  return _isTrue;
20222 }
m_integer modelica_integer
signed char modelica_boolean
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_isZero()

DLLExport modelica_boolean omc_NFExpression_isZero ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 3928 of file NFExpression.c.

3929 {
3930  modelica_boolean _isZero;
3931  modelica_boolean tmp1 = 0;
3932  MMC_SO();
3933  _tailrecursive: OMC_LABEL_UNUSED
3934 #line 3934 OMC_FILE
3935  { /* match expression */
3936  modelica_metatype tmp4_1;
3937  tmp4_1 = _exp;
3938  {
3939  int tmp4;
3940  {
3941  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
3942  case 3: {
3943 
3944  /* Pattern matching succeeded */
3945 #line 3949 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3946  tmp1 = (mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))) == ((modelica_integer) 0));
3947 #line 3947 OMC_FILE
3948  goto tmp3_done;
3949  }
3950  case 4: {
3951 
3952  /* Pattern matching succeeded */
3953 #line 3950 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3954  tmp1 = (mmc_unbox_real((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))) == 0.0);
3955 #line 3955 OMC_FILE
3956  goto tmp3_done;
3957  }
3958  case 24: {
3959 
3960  /* Pattern matching succeeded */
3961 #line 3951 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3962  /* Tail recursive call */
3963 #line 3951 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3964  _exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
3965 #line 3951 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3966  goto _tailrecursive;
3967 #line 3951 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3968  /* TODO: Make sure any eventual dead code below is never generated */
3969 #line 3969 OMC_FILE
3970  goto tmp3_done;
3971  }
3972  case 19: {
3973 
3974  /* Pattern matching succeeded */
3975 #line 3952 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3976  /* Tail recursive call */
3977 #line 3952 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3978  _exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
3979 #line 3952 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3980  goto _tailrecursive;
3981 #line 3952 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3982  /* TODO: Make sure any eventual dead code below is never generated */
3983 #line 3983 OMC_FILE
3984  goto tmp3_done;
3985  }
3986  default:
3987  tmp3_default: OMC_LABEL_UNUSED; {
3988 
3989  /* Pattern matching succeeded */
3990 #line 3953 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3991  tmp1 = 0;
3992 #line 3992 OMC_FILE
3993  goto tmp3_done;
3994  }
3995  }
3996  goto tmp3_end;
3997  tmp3_end: ;
3998  }
3999  goto goto_2;
4000  goto_2:;
4001  MMC_THROW_INTERNAL();
4002  goto tmp3_done;
4003  tmp3_done:;
4004  }
4005  }
4006  _isZero = tmp1;
4007  _return: OMC_LABEL_UNUSED
4008  return _isZero;
4009 }
m_integer modelica_integer
signed char modelica_boolean
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_NFExpression_listContains()

DLLExport modelica_boolean omc_NFExpression_listContains ( threadData_t threadData,
modelica_metatype  _expl,
modelica_fnptr  _func 
)

Definition at line 4556 of file NFExpression.c.

4557 {
4558  modelica_boolean _res;
4559  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
4560  MMC_SO();
4561  _tailrecursive: OMC_LABEL_UNUSED
4562 #line 3807 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4563  {
4564 #line 3807 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4565  modelica_metatype _e;
4566 #line 3807 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4567  for (tmpMeta[0] = _expl; !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
4568 #line 3807 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4569  {
4570 #line 3807 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4571  _e = MMC_CAR(tmpMeta[0]);
4572 #line 3808 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4573  if(omc_NFExpression_contains(threadData, _e, ((modelica_fnptr) _func)))
4574 #line 3808 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4575  {
4576 #line 3809 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4577  _res = 1;
4578 #line 4578 OMC_FILE
4579 
4580 #line 3810 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4581  goto _return;
4582 #line 4582 OMC_FILE
4583  }
4584  }
4585  }
4586 
4587 #line 3814 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4588  _res = 0;
4589 #line 4589 OMC_FILE
4590  _return: OMC_LABEL_UNUSED
4591  return _res;
4592 }
signed char modelica_boolean
void * modelica_fnptr
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
DLLExport modelica_boolean omc_NFExpression_contains(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_lookupRecordField()

DLLExport modelica_metatype omc_NFExpression_lookupRecordField ( threadData_t threadData,
modelica_string  _name,
modelica_metatype  _exp 
)

Definition at line 1179 of file NFExpression.c.

1180 {
1181  modelica_metatype _fieldExp = NULL;
1182  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
1183  MMC_SO();
1184  _tailrecursive: OMC_LABEL_UNUSED
1185 #line 1185 OMC_FILE
1186  { /* match expression */
1187  modelica_metatype tmp3_1;
1188  tmp3_1 = _exp;
1189  {
1190  modelica_metatype _node = NULL;
1191  modelica_integer _index;
1192  modelica_metatype _cls_tree = NULL;
1193  modelica_metatype _cref = NULL;
1194  modelica_metatype _ty = NULL;
1195  volatile mmc_switch_type tmp3;
1196  int tmp4;
1197  tmp3 = 0;
1198  for (; tmp3 < 2; tmp3++) {
1199  switch (MMC_SWITCH_CAST(tmp3)) {
1200  case 0: {
1201  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,11,3) == 0) goto tmp2_end;
1202  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
1203  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],11,2) == 0) goto tmp2_end;
1204  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
1205 
1206  _node = tmpMeta[2];
1207  /* Pattern matching succeeded */
1208 #line 4521 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1209  _cls_tree = omc_NFClass_Class_classTree(threadData, omc_NFInstNode_InstNode_getClass(threadData, _node));
1210 #line 1210 OMC_FILE
1211 
1212 #line 4522 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1213  _index = omc_NFClassTree_ClassTree_lookupComponentIndex(threadData, _name, _cls_tree);
1214 #line 1214 OMC_FILE
1215 #line 4523 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1216  tmpMeta[0] = listGet((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), (modelica_integer)_index);
1217 #line 1217 OMC_FILE
1218  goto tmp2_done;
1219  }
1220  case 1: {
1221  modelica_boolean tmp5;
1222  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,5,2) == 0) goto tmp2_end;
1223  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
1224  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],11,2) == 0) goto tmp2_end;
1225  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
1226 
1227  _node = tmpMeta[2];
1228  /* Pattern matching succeeded */
1229 #line 4528 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1230  _cls_tree = omc_NFClass_Class_classTree(threadData, omc_NFInstNode_InstNode_getClass(threadData, _node));
1231 #line 1231 OMC_FILE
1232 
1233 #line 4529 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1234  /* Pattern-matching tuple assignment */
1235 #line 4529 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1236  tmpMeta[1] = omc_NFClassTree_ClassTree_lookupElement(threadData, _name, _cls_tree, &tmp5);
1237 #line 4529 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1238  _node = tmpMeta[1];
1239 #line 4529 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1240  if (0 != tmp5) goto goto_1;
1241 #line 1241 OMC_FILE
1242 
1243 #line 4530 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1244  _ty = omc_NFInstNode_InstNode_getType(threadData, _node);
1245 #line 1245 OMC_FILE
1246 
1247 #line 4531 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1248  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
1249 #line 4531 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1250  _cref = omc_NFComponentRef_prefixCref(threadData, _node, _ty, tmpMeta[1], (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
1251 #line 1251 OMC_FILE
1252 
1253 #line 4532 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1254  _ty = omc_NFType_liftArrayLeftList(threadData, _ty, omc_NFType_arrayDims(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))));
1255 #line 1255 OMC_FILE
1256 #line 4533 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1257  tmpMeta[1] = mmc_mk_box3(8, &NFExpression_CREF__desc, _ty, _cref);
1258 #line 4533 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1259  tmpMeta[0] = tmpMeta[1];
1260 #line 1260 OMC_FILE
1261  goto tmp2_done;
1262  }
1263  }
1264  goto tmp2_end;
1265  tmp2_end: ;
1266  }
1267  goto goto_1;
1268  goto_1:;
1269  MMC_THROW_INTERNAL();
1270  goto tmp2_done;
1271  tmp2_done:;
1272  }
1273  }
1274  _fieldExp = tmpMeta[0];
1275  _return: OMC_LABEL_UNUSED
1276  return _fieldExp;
1277 }
DLLExport modelica_metatype omc_NFInstNode_InstNode_getClass(threadData_t *threadData, modelica_metatype _node)
Definition: NFInstNode.c:4014
m_integer modelica_integer
DLLExport modelica_metatype omc_NFType_liftArrayLeftList(threadData_t *threadData, modelica_metatype _ $in_ty, modelica_metatype _dims)
Definition: NFType.c:4031
signed char modelica_boolean
DLLExport modelica_metatype omc_NFComponentRef_prefixCref(threadData_t *threadData, modelica_metatype _node, modelica_metatype _ty, modelica_metatype _subs, modelica_metatype _restCref)
float mmc_switch_type
DLLExport modelica_metatype omc_NFInstNode_InstNode_getType(threadData_t *threadData, modelica_metatype _node)
Definition: NFInstNode.c:3335
DLLExport modelica_integer omc_NFClassTree_ClassTree_lookupComponentIndex(threadData_t *threadData, modelica_string _name, modelica_metatype _tree)
Definition: NFClassTree.c:4301
DLLExport modelica_metatype omc_NFClassTree_ClassTree_lookupElement(threadData_t *threadData, modelica_string _name, modelica_metatype _tree, modelica_boolean *out_isImport)
Definition: NFClassTree.c:4418
void * modelica_metatype
DLLExport modelica_metatype omc_NFClass_Class_classTree(threadData_t *threadData, modelica_metatype _cls)
Definition: NFClass.c:1685
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
DLLExport modelica_metatype omc_NFType_arrayDims(threadData_t *threadData, modelica_metatype _ty)
Definition: NFType.c:2041
struct record_description NFExpression_CREF__desc
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_makeArray()

DLLExport modelica_metatype omc_NFExpression_makeArray ( threadData_t threadData,
modelica_metatype  _ty,
modelica_metatype  _expl,
modelica_boolean  _literal 
)

Definition at line 17715 of file NFExpression.c.

17716 {
17717  modelica_metatype _outExp = NULL;
17718  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
17719  MMC_SO();
17720  _tailrecursive: OMC_LABEL_UNUSED
17721 #line 894 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17722  tmpMeta[0] = mmc_mk_box4(10, &NFExpression_ARRAY__desc, _ty, _expl, mmc_mk_boolean(_literal));
17723 #line 894 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17724  _outExp = tmpMeta[0];
17725 #line 17725 OMC_FILE
17726  _return: OMC_LABEL_UNUSED
17727  return _outExp;
17728 }
struct record_description NFExpression_ARRAY__desc
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_makeEmptyArray()

DLLExport modelica_metatype omc_NFExpression_makeEmptyArray ( threadData_t threadData,
modelica_metatype  _ty 
)

Definition at line 17697 of file NFExpression.c.

17698 {
17699  modelica_metatype _outExp = NULL;
17700  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
17701  MMC_SO();
17702  _tailrecursive: OMC_LABEL_UNUSED
17703 #line 902 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17704  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
17705 #line 902 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17706  tmpMeta[1] = mmc_mk_box4(10, &NFExpression_ARRAY__desc, _ty, tmpMeta[0], mmc_mk_boolean(1));
17707 #line 902 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17708  _outExp = tmpMeta[1];
17709 #line 17709 OMC_FILE
17710  _return: OMC_LABEL_UNUSED
17711  return _outExp;
17712 }
struct record_description NFExpression_ARRAY__desc
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_makeEnumLiteral()

DLLExport modelica_metatype omc_NFExpression_makeEnumLiteral ( threadData_t threadData,
modelica_metatype  _enumType,
modelica_integer  _index 
)

Definition at line 15644 of file NFExpression.c.

15645 {
15646  modelica_metatype _literal = NULL;
15647  modelica_metatype _literals = NULL;
15648  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
15649  MMC_SO();
15650  _tailrecursive: OMC_LABEL_UNUSED
15651 #line 1396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15652  /* Pattern-matching assignment */
15653 #line 1396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15654  tmpMeta[0] = _enumType;
15655 #line 1396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15656  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],5,2) == 0) MMC_THROW_INTERNAL();
15657 #line 1396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15658  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
15659 #line 1396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15660  _literals = tmpMeta[1];
15661 #line 15661 OMC_FILE
15662 
15663 #line 1397 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15664  tmpMeta[0] = mmc_mk_box4(7, &NFExpression_ENUM__LITERAL__desc, _enumType, listGet(_literals, (modelica_integer)_index), mmc_mk_integer((modelica_integer)_index));
15665 #line 1397 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15666  _literal = tmpMeta[0];
15667 #line 15667 OMC_FILE
15668  _return: OMC_LABEL_UNUSED
15669  return _literal;
15670 }
m_integer modelica_integer
struct record_description NFExpression_ENUM__LITERAL__desc
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_makeEnumLiterals()

DLLExport modelica_metatype omc_NFExpression_makeEnumLiterals ( threadData_t threadData,
modelica_metatype  _enumType 
)

Definition at line 15533 of file NFExpression.c.

15534 {
15535  modelica_metatype _literals = NULL;
15536  modelica_metatype _lits = NULL;
15537  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
15538  MMC_SO();
15539  _tailrecursive: OMC_LABEL_UNUSED
15540 #line 1406 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15541  /* Pattern-matching assignment */
15542 #line 1406 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15543  tmpMeta[0] = _enumType;
15544 #line 1406 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15545  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],5,2) == 0) MMC_THROW_INTERNAL();
15546 #line 1406 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15547  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
15548 #line 1406 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15549  _lits = tmpMeta[1];
15550 #line 15550 OMC_FILE
15551 
15552 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15553  {
15554 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15555  modelica_metatype _$tmpVar81;
15556 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15557  modelica_metatype* tmp1;
15558 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15559  modelica_metatype _$tmpVar80;
15560 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15561  int tmp2;
15562 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15563  modelica_integer tmp3;
15564 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15565  modelica_integer tmp4;
15566 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15567  modelica_integer _i;
15568 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15569  modelica_metatype l_loopVar = 0;
15570 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15571  modelica_metatype _l;
15572 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15573  tmp3 = 1 /* Range step-value */;
15574 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15575  tmp4 = listLength(_lits) /* Range stop-value */;
15576 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15577  _i = ((modelica_integer) 1) /* Range start-value */;
15578 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15579  _i = (((modelica_integer) 1) /* Range start-value */)-tmp3;
15580 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15581  l_loopVar = _lits;
15582 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15583  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
15584 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15585  _$tmpVar81 = tmpMeta[1]; /* defaultValue */
15586 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15587  tmp1 = &_$tmpVar81;
15588 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15589  while(1) {
15590 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15591  tmp2 = 2;
15592 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15593  if (tmp3 > 0 ? _i+tmp3 <= tmp4 : _i+tmp3 >= tmp4) {
15594 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15595  _i += tmp3;
15596 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15597  tmp2--;
15598 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15599  }if (!listEmpty(l_loopVar)) {
15600 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15601  _l = MMC_CAR(l_loopVar);
15602 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15603  l_loopVar = MMC_CDR(l_loopVar);
15604 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15605  tmp2--;
15606 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15607  }
15608 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15609  if (tmp2 == 0) {
15610 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15611  tmpMeta[2] = mmc_mk_box4(7, &NFExpression_ENUM__LITERAL__desc, _enumType, _l, mmc_mk_integer((modelica_integer)_i));
15612 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15613  _$tmpVar80 = tmpMeta[2];
15614 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15615  *tmp1 = mmc_mk_cons(_$tmpVar80,0);
15616 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15617  tmp1 = &MMC_CDR(*tmp1);
15618 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15619  } else if (tmp2 == 2) {
15620 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15621  break;
15622 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15623  } else {
15624 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15625  MMC_THROW_INTERNAL();
15626 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15627  }
15628 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15629  }
15630 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15631  *tmp1 = mmc_mk_nil();
15632 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15633  tmpMeta[0] = _$tmpVar81;
15634 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15635  }
15636 #line 1407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15637  _literals = tmpMeta[0];
15638 #line 15638 OMC_FILE
15639  _return: OMC_LABEL_UNUSED
15640  return _literals;
15641 }
m_integer modelica_integer
struct record_description NFExpression_ENUM__LITERAL__desc
void * modelica_metatype
modelica_integer listLength(modelica_metatype)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_makeIdentityMatrix()

DLLExport modelica_metatype omc_NFExpression_makeIdentityMatrix ( threadData_t threadData,
modelica_integer  _n,
modelica_metatype  _elementType 
)

Definition at line 2193 of file NFExpression.c.

2194 {
2195  modelica_metatype _matrix = NULL;
2196  modelica_metatype _zero = NULL;
2197  modelica_metatype _one = NULL;
2198  modelica_metatype _row = NULL;
2199  modelica_metatype _rows = NULL;
2200  modelica_metatype _row_ty = NULL;
2201  modelica_integer tmp1;
2202  modelica_integer tmp2;
2203  modelica_integer tmp3;
2204  modelica_integer tmp4;
2205  modelica_integer tmp5;
2206  modelica_integer tmp6;
2207  modelica_integer tmp7;
2208  modelica_integer tmp8;
2209  modelica_integer tmp9;
2210  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
2211  MMC_SO();
2212  _tailrecursive: OMC_LABEL_UNUSED
2213  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
2214  _rows = tmpMeta[0];
2215 #line 4284 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2216  _zero = omc_NFExpression_makeZero(threadData, _elementType);
2217 #line 2217 OMC_FILE
2218 
2219 #line 4285 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2220  _one = omc_NFExpression_makeOne(threadData, _elementType);
2221 #line 2221 OMC_FILE
2222 
2223 #line 4286 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2224  tmpMeta[1] = mmc_mk_cons(omc_NFDimension_fromInteger(threadData, (modelica_integer)_n, 1), MMC_REFSTRUCTLIT(mmc_nil));
2225 #line 4286 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2226  tmpMeta[2] = mmc_mk_box3(10, &NFType_ARRAY__desc, _elementType, tmpMeta[1]);
2227 #line 4286 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2228  _row_ty = tmpMeta[2];
2229 #line 2229 OMC_FILE
2230 
2231 #line 4288 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2232  tmp7 = ((modelica_integer) 1); tmp8 = 1; tmp9 = (modelica_integer)_n;
2233 #line 4288 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2234  if(!(((tmp8 > 0) && (tmp7 > tmp9)) || ((tmp8 < 0) && (tmp7 < tmp9))))
2235 #line 4288 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2236  {
2237 #line 4288 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2238  modelica_integer _i;
2239 #line 4288 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2240  for(_i = ((modelica_integer) 1); in_range_integer(_i, tmp7, tmp9); _i += tmp8)
2241 #line 4288 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2242  {
2243 #line 4289 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2244  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
2245 #line 4289 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2246  _row = tmpMeta[1];
2247 #line 2247 OMC_FILE
2248 
2249 #line 4291 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2250  tmp1 = ((modelica_integer) 2); tmp2 = 1; tmp3 = (modelica_integer)_i;
2251 #line 4291 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2252  if(!(((tmp2 > 0) && (tmp1 > tmp3)) || ((tmp2 < 0) && (tmp1 < tmp3))))
2253 #line 4291 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2254  {
2255 #line 4291 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2256  modelica_integer _j;
2257 #line 4291 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2258  for(_j = ((modelica_integer) 2); in_range_integer(_j, tmp1, tmp3); _j += tmp2)
2259 #line 4291 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2260  {
2261 #line 4292 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2262  tmpMeta[1] = mmc_mk_cons(_zero, _row);
2263 #line 4292 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2264  _row = tmpMeta[1];
2265 #line 2265 OMC_FILE
2266  }
2267  }
2268 
2269 #line 4295 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2270  tmpMeta[1] = mmc_mk_cons(_one, _row);
2271 #line 4295 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2272  _row = tmpMeta[1];
2273 #line 2273 OMC_FILE
2274 
2275 #line 4297 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2276  tmp4 = (modelica_integer)_i; tmp5 = 1; tmp6 = ((modelica_integer) -1) + (modelica_integer)_n;
2277 #line 4297 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2278  if(!(((tmp5 > 0) && (tmp4 > tmp6)) || ((tmp5 < 0) && (tmp4 < tmp6))))
2279 #line 4297 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2280  {
2281 #line 4297 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2282  modelica_integer _j;
2283 #line 4297 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2284  for(_j = (modelica_integer)_i; in_range_integer(_j, tmp4, tmp6); _j += tmp5)
2285 #line 4297 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2286  {
2287 #line 4298 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2288  tmpMeta[1] = mmc_mk_cons(_zero, _row);
2289 #line 4298 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2290  _row = tmpMeta[1];
2291 #line 2291 OMC_FILE
2292  }
2293  }
2294 
2295 #line 4301 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2296  tmpMeta[1] = mmc_mk_cons(omc_NFExpression_makeArray(threadData, _row_ty, _row, 1), _rows);
2297 #line 4301 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2298  _rows = tmpMeta[1];
2299 #line 2299 OMC_FILE
2300  }
2301  }
2302 
2303 #line 4304 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2304  _matrix = omc_NFExpression_makeArray(threadData, omc_NFType_liftArrayLeft(threadData, _row_ty, omc_NFDimension_fromInteger(threadData, (modelica_integer)_n, 1)), _rows, 1);
2305 #line 2305 OMC_FILE
2306  _return: OMC_LABEL_UNUSED
2307  return _matrix;
2308 }
m_integer modelica_integer
DLLExport modelica_metatype omc_NFDimension_fromInteger(threadData_t *threadData, modelica_integer _n, modelica_integer _var)
Definition: NFDimension.c:1295
DLLExport modelica_metatype omc_NFExpression_makeZero(threadData_t *threadData, modelica_metatype _ty)
struct record_description NFType_ARRAY__desc
DLLExport modelica_metatype omc_NFExpression_makeArray(threadData_t *threadData, modelica_metatype _ty, modelica_metatype _expl, modelica_boolean _literal)
void * modelica_metatype
DLLExport modelica_metatype omc_NFExpression_makeOne(threadData_t *threadData, modelica_metatype _ty)
DLLExport modelica_metatype omc_NFType_liftArrayLeft(threadData_t *threadData, modelica_metatype _ $in_ty, modelica_metatype _dim)
Definition: NFType.c:4095
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_makeImmutable()

DLLExport modelica_metatype omc_NFExpression_makeImmutable ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 1396 of file NFExpression.c.

1397 {
1398  modelica_metatype _outExp = NULL;
1399  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
1400  MMC_SO();
1401  _tailrecursive: OMC_LABEL_UNUSED
1402 #line 1402 OMC_FILE
1403  { /* match expression */
1404  modelica_metatype tmp3_1;
1405  tmp3_1 = _exp;
1406  {
1407  volatile mmc_switch_type tmp3;
1408  int tmp4;
1409  tmp3 = 0;
1410  for (; tmp3 < 2; tmp3++) {
1411  switch (MMC_SWITCH_CAST(tmp3)) {
1412  case 0: {
1413  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,27,1) == 0) goto tmp2_end;
1414 
1415  /* Pattern matching succeeded */
1416 #line 4481 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1417  tmpMeta[0] = omc_Mutable_access(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
1418 #line 1418 OMC_FILE
1419  goto tmp2_done;
1420  }
1421  case 1: {
1422 
1423  /* Pattern matching succeeded */
1424 #line 4482 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1425  tmpMeta[0] = _exp;
1426 #line 1426 OMC_FILE
1427  goto tmp2_done;
1428  }
1429  }
1430  goto tmp2_end;
1431  tmp2_end: ;
1432  }
1433  goto goto_1;
1434  goto_1:;
1435  MMC_THROW_INTERNAL();
1436  goto tmp2_done;
1437  tmp2_done:;
1438  }
1439  }
1440  _outExp = tmpMeta[0];
1441  _return: OMC_LABEL_UNUSED
1442  return _outExp;
1443 }
modelica_metatype omc_Mutable_access(threadData_t *threadData, modelica_metatype _mutable)
Definition: Mutable.c:13
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_makeInteger()

DLLExport modelica_metatype omc_NFExpression_makeInteger ( threadData_t threadData,
modelica_integer  _value 
)

Definition at line 17762 of file NFExpression.c.

17763 {
17764  modelica_metatype _exp = NULL;
17765  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
17766  MMC_SO();
17767  _tailrecursive: OMC_LABEL_UNUSED
17768  tmpMeta[0] = mmc_mk_box2(3, &NFExpression_INTEGER__desc, mmc_mk_integer((modelica_integer)_value));
17769  _exp = tmpMeta[0];
17770  _return: OMC_LABEL_UNUSED
17771  return _exp;
17772 }
m_integer modelica_integer
struct record_description NFExpression_INTEGER__desc
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_makeIntegerArray()

DLLExport modelica_metatype omc_NFExpression_makeIntegerArray ( threadData_t threadData,
modelica_metatype  _values 
)

Definition at line 17615 of file NFExpression.c.

17616 {
17617  modelica_metatype _exp = NULL;
17618  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
17619  MMC_SO();
17620  _tailrecursive: OMC_LABEL_UNUSED
17621 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17622  tmpMeta[0] = mmc_mk_cons(omc_NFDimension_fromInteger(threadData, listLength(_values), 1), MMC_REFSTRUCTLIT(mmc_nil));
17623 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17624  tmpMeta[1] = mmc_mk_box3(10, &NFType_ARRAY__desc, _OMC_LIT17, tmpMeta[0]);
17625 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17626  {
17627 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17628  modelica_metatype _$tmpVar97;
17629 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17630  modelica_metatype* tmp1;
17631 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17632  modelica_metatype _$tmpVar96;
17633 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17634  int tmp2;
17635 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17636  modelica_metatype v_loopVar = 0;
17637 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17638  modelica_metatype _v;
17639 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17640  v_loopVar = _values;
17641 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17642  tmpMeta[3] = MMC_REFSTRUCTLIT(mmc_nil);
17643 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17644  _$tmpVar97 = tmpMeta[3]; /* defaultValue */
17645 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17646  tmp1 = &_$tmpVar97;
17647 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17648  while(1) {
17649 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17650  tmp2 = 1;
17651 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17652  if (!listEmpty(v_loopVar)) {
17653 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17654  _v = MMC_CAR(v_loopVar);
17655 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17656  v_loopVar = MMC_CDR(v_loopVar);
17657 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17658  tmp2--;
17659 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17660  }
17661 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17662  if (tmp2 == 0) {
17663 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17664  tmpMeta[4] = mmc_mk_box2(3, &NFExpression_INTEGER__desc, _v);
17665 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17666  _$tmpVar96 = tmpMeta[4];
17667 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17668  *tmp1 = mmc_mk_cons(_$tmpVar96,0);
17669 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17670  tmp1 = &MMC_CDR(*tmp1);
17671 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17672  } else if (tmp2 == 1) {
17673 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17674  break;
17675 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17676  } else {
17677 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17678  MMC_THROW_INTERNAL();
17679 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17680  }
17681 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17682  }
17683 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17684  *tmp1 = mmc_mk_nil();
17685 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17686  tmpMeta[2] = _$tmpVar97;
17687 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17688  }
17689 #line 910 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17690  _exp = omc_NFExpression_makeArray(threadData, tmpMeta[1], tmpMeta[2], 1);
17691 #line 17691 OMC_FILE
17692  _return: OMC_LABEL_UNUSED
17693  return _exp;
17694 }
DLLExport modelica_metatype omc_NFDimension_fromInteger(threadData_t *threadData, modelica_integer _n, modelica_integer _var)
Definition: NFDimension.c:1295
struct record_description NFType_ARRAY__desc
DLLExport modelica_metatype omc_NFExpression_makeArray(threadData_t *threadData, modelica_metatype _ty, modelica_metatype _expl, modelica_boolean _literal)
struct record_description NFExpression_INTEGER__desc
void * modelica_metatype
modelica_integer listLength(modelica_metatype)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_makeMaxValue()

DLLExport modelica_metatype omc_NFExpression_makeMaxValue ( threadData_t threadData,
modelica_metatype  _ty 
)

Definition at line 3061 of file NFExpression.c.

3062 {
3063  modelica_metatype _exp = NULL;
3064  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
3065  MMC_SO();
3066  _tailrecursive: OMC_LABEL_UNUSED
3067 #line 3067 OMC_FILE
3068  { /* match expression */
3069  modelica_metatype tmp3_1;
3070  tmp3_1 = _ty;
3071  {
3072  int tmp3;
3073  {
3074  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
3075  case 4: {
3076 
3077  /* Pattern matching succeeded */
3078 #line 4112 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3079  tmpMeta[1] = mmc_mk_box2(4, &NFExpression_REAL__desc, mmc_mk_real(realMaxLit()));
3080 #line 4112 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3081  tmpMeta[0] = tmpMeta[1];
3082 #line 3082 OMC_FILE
3083  goto tmp2_done;
3084  }
3085  case 3: {
3086 
3087  /* Pattern matching succeeded */
3088 #line 4113 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3089  tmpMeta[1] = mmc_mk_box2(3, &NFExpression_INTEGER__desc, mmc_mk_integer(intMaxLit()));
3090 #line 4113 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3091  tmpMeta[0] = tmpMeta[1];
3092 #line 3092 OMC_FILE
3093  goto tmp2_done;
3094  }
3095  case 6: {
3096 
3097  /* Pattern matching succeeded */
3098 #line 4114 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3099  tmpMeta[0] = _OMC_LIT37;
3100 #line 3100 OMC_FILE
3101  goto tmp2_done;
3102  }
3103  case 8: {
3104 
3105  /* Pattern matching succeeded */
3106 #line 4115 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3107  tmpMeta[1] = mmc_mk_box4(7, &NFExpression_ENUM__LITERAL__desc, _ty, omc_List_last(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_ty), 3)))), mmc_mk_integer(listLength((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_ty), 3))))));
3108 #line 4115 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3109  tmpMeta[0] = tmpMeta[1];
3110 #line 3110 OMC_FILE
3111  goto tmp2_done;
3112  }
3113  case 10: {
3114 
3115  /* Pattern matching succeeded */
3116 #line 4117 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3117  tmpMeta[1] = mmc_mk_box4(10, &NFExpression_ARRAY__desc, _ty, omc_List_fill(threadData, omc_NFExpression_makeMaxValue(threadData, omc_NFType_unliftArray(threadData, _ty)), omc_NFDimension_size(threadData, listHead((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_ty), 3)))))), mmc_mk_boolean(1));
3118 #line 4117 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3119  tmpMeta[0] = tmpMeta[1];
3120 #line 3120 OMC_FILE
3121  goto tmp2_done;
3122  }
3123  }
3124  goto tmp2_end;
3125  tmp2_end: ;
3126  }
3127  goto goto_1;
3128  goto_1:;
3129  MMC_THROW_INTERNAL();
3130  goto tmp2_done;
3131  tmp2_done:;
3132  }
3133  }
3134  _exp = tmpMeta[0];
3135  _return: OMC_LABEL_UNUSED
3136  return _exp;
3137 }
DLLExport modelica_integer omc_NFDimension_size(threadData_t *threadData, modelica_metatype _dim)
Definition: NFDimension.c:1013
modelica_integer intMaxLit(void)
DLLExport modelica_metatype omc_List_last(threadData_t *threadData, modelica_metatype _inList)
Definition: List.c:17415
struct record_description NFExpression_ENUM__LITERAL__desc
struct record_description NFExpression_ARRAY__desc
DLLExport modelica_metatype omc_NFExpression_makeMaxValue(threadData_t *threadData, modelica_metatype _ty)
struct record_description NFExpression_INTEGER__desc
void * modelica_metatype
DLLExport modelica_metatype omc_List_fill(threadData_t *threadData, modelica_metatype _inElement, modelica_integer _inCount)
Definition: List.c:18885
modelica_integer listLength(modelica_metatype)
struct record_description NFExpression_REAL__desc
modelica_real realMaxLit(void)
DLLExport modelica_metatype omc_NFType_unliftArray(threadData_t *threadData, modelica_metatype _ $in_ty)
Definition: NFType.c:3915
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_makeMinValue()

DLLExport modelica_metatype omc_NFExpression_makeMinValue ( threadData_t threadData,
modelica_metatype  _ty 
)

Definition at line 2984 of file NFExpression.c.

2985 {
2986  modelica_metatype _exp = NULL;
2987  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
2988  MMC_SO();
2989  _tailrecursive: OMC_LABEL_UNUSED
2990 #line 2990 OMC_FILE
2991  { /* match expression */
2992  modelica_metatype tmp3_1;
2993  tmp3_1 = _ty;
2994  {
2995  int tmp3;
2996  {
2997  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
2998  case 4: {
2999 
3000  /* Pattern matching succeeded */
3001 #line 4129 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3002  tmpMeta[1] = mmc_mk_box2(4, &NFExpression_REAL__desc, mmc_mk_real((-realMaxLit())));
3003 #line 4129 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3004  tmpMeta[0] = tmpMeta[1];
3005 #line 3005 OMC_FILE
3006  goto tmp2_done;
3007  }
3008  case 3: {
3009 
3010  /* Pattern matching succeeded */
3011 #line 4130 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3012  tmpMeta[1] = mmc_mk_box2(3, &NFExpression_INTEGER__desc, mmc_mk_integer((-intMaxLit())));
3013 #line 4130 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3014  tmpMeta[0] = tmpMeta[1];
3015 #line 3015 OMC_FILE
3016  goto tmp2_done;
3017  }
3018  case 6: {
3019 
3020  /* Pattern matching succeeded */
3021 #line 4131 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3022  tmpMeta[0] = _OMC_LIT36;
3023 #line 3023 OMC_FILE
3024  goto tmp2_done;
3025  }
3026  case 8: {
3027 
3028  /* Pattern matching succeeded */
3029 #line 4132 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3030  tmpMeta[1] = mmc_mk_box4(7, &NFExpression_ENUM__LITERAL__desc, _ty, listHead((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_ty), 3)))), mmc_mk_integer(((modelica_integer) 1)));
3031 #line 4132 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3032  tmpMeta[0] = tmpMeta[1];
3033 #line 3033 OMC_FILE
3034  goto tmp2_done;
3035  }
3036  case 10: {
3037 
3038  /* Pattern matching succeeded */
3039 #line 4134 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3040  tmpMeta[0] = omc_NFExpression_makeArray(threadData, _ty, omc_List_fill(threadData, omc_NFExpression_makeMaxValue(threadData, omc_NFType_unliftArray(threadData, _ty)), omc_NFDimension_size(threadData, listHead((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_ty), 3)))))), 1);
3041 #line 3041 OMC_FILE
3042  goto tmp2_done;
3043  }
3044  }
3045  goto tmp2_end;
3046  tmp2_end: ;
3047  }
3048  goto goto_1;
3049  goto_1:;
3050  MMC_THROW_INTERNAL();
3051  goto tmp2_done;
3052  tmp2_done:;
3053  }
3054  }
3055  _exp = tmpMeta[0];
3056  _return: OMC_LABEL_UNUSED
3057  return _exp;
3058 }
DLLExport modelica_integer omc_NFDimension_size(threadData_t *threadData, modelica_metatype _dim)
Definition: NFDimension.c:1013
m_integer modelica_integer
modelica_integer intMaxLit(void)
struct record_description NFExpression_ENUM__LITERAL__desc
DLLExport modelica_metatype omc_NFExpression_makeArray(threadData_t *threadData, modelica_metatype _ty, modelica_metatype _expl, modelica_boolean _literal)
DLLExport modelica_metatype omc_NFExpression_makeMaxValue(threadData_t *threadData, modelica_metatype _ty)
struct record_description NFExpression_INTEGER__desc
void * modelica_metatype
DLLExport modelica_metatype omc_List_fill(threadData_t *threadData, modelica_metatype _inElement, modelica_integer _inCount)
Definition: List.c:18885
struct record_description NFExpression_REAL__desc
modelica_real realMaxLit(void)
DLLExport modelica_metatype omc_NFType_unliftArray(threadData_t *threadData, modelica_metatype _ $in_ty)
Definition: NFType.c:3915
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_makeMutable()

DLLExport modelica_metatype omc_NFExpression_makeMutable ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 1446 of file NFExpression.c.

1447 {
1448  modelica_metatype _outExp = NULL;
1449  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
1450  MMC_SO();
1451  _tailrecursive: OMC_LABEL_UNUSED
1452 #line 4473 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1453  tmpMeta[0] = mmc_mk_box2(30, &NFExpression_MUTABLE__desc, omc_Mutable_create(threadData, _exp));
1454 #line 4473 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1455  _outExp = tmpMeta[0];
1456 #line 1456 OMC_FILE
1457  _return: OMC_LABEL_UNUSED
1458  return _outExp;
1459 }
struct record_description NFExpression_MUTABLE__desc
modelica_metatype omc_Mutable_create(threadData_t *threadData, modelica_metatype _data)
Definition: Mutable.c:51
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_makeOne()

DLLExport modelica_metatype omc_NFExpression_makeOne ( threadData_t threadData,
modelica_metatype  _ty 
)

Definition at line 3140 of file NFExpression.c.

3141 {
3142  modelica_metatype _zeroExp = NULL;
3143  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
3144  MMC_SO();
3145  _tailrecursive: OMC_LABEL_UNUSED
3146 #line 3146 OMC_FILE
3147  { /* match expression */
3148  modelica_metatype tmp3_1;
3149  tmp3_1 = _ty;
3150  {
3151  int tmp3;
3152  {
3153  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
3154  case 4: {
3155 
3156  /* Pattern matching succeeded */
3157 #line 4097 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3158  tmpMeta[0] = _OMC_LIT39;
3159 #line 3159 OMC_FILE
3160  goto tmp2_done;
3161  }
3162  case 3: {
3163 
3164  /* Pattern matching succeeded */
3165 #line 4098 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3166  tmpMeta[0] = _OMC_LIT40;
3167 #line 3167 OMC_FILE
3168  goto tmp2_done;
3169  }
3170  case 10: {
3171 
3172  /* Pattern matching succeeded */
3173 #line 4100 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3174  tmpMeta[1] = mmc_mk_box4(10, &NFExpression_ARRAY__desc, _ty, omc_List_fill(threadData, omc_NFExpression_makeZero(threadData, omc_NFType_unliftArray(threadData, _ty)), omc_NFDimension_size(threadData, listHead((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_ty), 3)))))), mmc_mk_boolean(1));
3175 #line 4100 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3176  tmpMeta[0] = tmpMeta[1];
3177 #line 3177 OMC_FILE
3178  goto tmp2_done;
3179  }
3180  }
3181  goto tmp2_end;
3182  tmp2_end: ;
3183  }
3184  goto goto_1;
3185  goto_1:;
3186  MMC_THROW_INTERNAL();
3187  goto tmp2_done;
3188  tmp2_done:;
3189  }
3190  }
3191  _zeroExp = tmpMeta[0];
3192  _return: OMC_LABEL_UNUSED
3193  return _zeroExp;
3194 }
DLLExport modelica_integer omc_NFDimension_size(threadData_t *threadData, modelica_metatype _dim)
Definition: NFDimension.c:1013
struct record_description NFExpression_ARRAY__desc
DLLExport modelica_metatype omc_NFExpression_makeZero(threadData_t *threadData, modelica_metatype _ty)
void * modelica_metatype
DLLExport modelica_metatype omc_List_fill(threadData_t *threadData, modelica_metatype _inElement, modelica_integer _inCount)
Definition: List.c:18885
DLLExport modelica_metatype omc_NFType_unliftArray(threadData_t *threadData, modelica_metatype _ $in_ty)
Definition: NFType.c:3915
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_makeReal()

DLLExport modelica_metatype omc_NFExpression_makeReal ( threadData_t threadData,
modelica_real  _value 
)

Definition at line 17818 of file NFExpression.c.

17819 {
17820  modelica_metatype _exp = NULL;
17821  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
17822  MMC_SO();
17823  _tailrecursive: OMC_LABEL_UNUSED
17824  tmpMeta[0] = mmc_mk_box2(4, &NFExpression_REAL__desc, mmc_mk_real(_value));
17825  _exp = tmpMeta[0];
17826  _return: OMC_LABEL_UNUSED
17827  return _exp;
17828 }
void * modelica_metatype
struct record_description NFExpression_REAL__desc
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_makeRealArray()

DLLExport modelica_metatype omc_NFExpression_makeRealArray ( threadData_t threadData,
modelica_metatype  _values 
)

Definition at line 17533 of file NFExpression.c.

17534 {
17535  modelica_metatype _exp = NULL;
17536  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
17537  MMC_SO();
17538  _tailrecursive: OMC_LABEL_UNUSED
17539 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17540  tmpMeta[0] = mmc_mk_cons(omc_NFDimension_fromInteger(threadData, listLength(_values), 1), MMC_REFSTRUCTLIT(mmc_nil));
17541 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17542  tmpMeta[1] = mmc_mk_box3(10, &NFType_ARRAY__desc, _OMC_LIT84, tmpMeta[0]);
17543 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17544  {
17545 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17546  modelica_metatype _$tmpVar95;
17547 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17548  modelica_metatype* tmp1;
17549 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17550  modelica_metatype _$tmpVar94;
17551 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17552  int tmp2;
17553 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17554  modelica_metatype v_loopVar = 0;
17555 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17556  modelica_metatype _v;
17557 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17558  v_loopVar = _values;
17559 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17560  tmpMeta[3] = MMC_REFSTRUCTLIT(mmc_nil);
17561 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17562  _$tmpVar95 = tmpMeta[3]; /* defaultValue */
17563 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17564  tmp1 = &_$tmpVar95;
17565 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17566  while(1) {
17567 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17568  tmp2 = 1;
17569 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17570  if (!listEmpty(v_loopVar)) {
17571 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17572  _v = MMC_CAR(v_loopVar);
17573 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17574  v_loopVar = MMC_CDR(v_loopVar);
17575 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17576  tmp2--;
17577 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17578  }
17579 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17580  if (tmp2 == 0) {
17581 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17582  tmpMeta[4] = mmc_mk_box2(4, &NFExpression_REAL__desc, _v);
17583 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17584  _$tmpVar94 = tmpMeta[4];
17585 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17586  *tmp1 = mmc_mk_cons(_$tmpVar94,0);
17587 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17588  tmp1 = &MMC_CDR(*tmp1);
17589 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17590  } else if (tmp2 == 1) {
17591 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17592  break;
17593 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17594  } else {
17595 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17596  MMC_THROW_INTERNAL();
17597 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17598  }
17599 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17600  }
17601 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17602  *tmp1 = mmc_mk_nil();
17603 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17604  tmpMeta[2] = _$tmpVar95;
17605 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17606  }
17607 #line 919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17608  _exp = omc_NFExpression_makeArray(threadData, tmpMeta[1], tmpMeta[2], 1);
17609 #line 17609 OMC_FILE
17610  _return: OMC_LABEL_UNUSED
17611  return _exp;
17612 }
DLLExport modelica_metatype omc_NFDimension_fromInteger(threadData_t *threadData, modelica_integer _n, modelica_integer _var)
Definition: NFDimension.c:1295
struct record_description NFType_ARRAY__desc
DLLExport modelica_metatype omc_NFExpression_makeArray(threadData_t *threadData, modelica_metatype _ty, modelica_metatype _expl, modelica_boolean _literal)
void * modelica_metatype
modelica_integer listLength(modelica_metatype)
struct record_description NFExpression_REAL__desc
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_makeRealMatrix()

DLLExport modelica_metatype omc_NFExpression_makeRealMatrix ( threadData_t threadData,
modelica_metatype  _values 
)

Definition at line 17356 of file NFExpression.c.

17357 {
17358  modelica_metatype _exp = NULL;
17359  modelica_metatype _ty = NULL;
17360  modelica_metatype _expl = NULL;
17361  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
17362  MMC_SO();
17363  _tailrecursive: OMC_LABEL_UNUSED
17364 #line 931 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17365  if(listEmpty(_values))
17366 #line 931 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17367  {
17368 #line 932 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17369  tmpMeta[0] = mmc_mk_cons(omc_NFDimension_fromInteger(threadData, ((modelica_integer) 0), 1), mmc_mk_cons(_OMC_LIT85, MMC_REFSTRUCTLIT(mmc_nil)));
17370 #line 932 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17371  tmpMeta[1] = mmc_mk_box3(10, &NFType_ARRAY__desc, _OMC_LIT84, tmpMeta[0]);
17372 #line 932 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17373  _ty = tmpMeta[1];
17374 #line 17374 OMC_FILE
17375 
17376 #line 933 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17377  _exp = omc_NFExpression_makeEmptyArray(threadData, _ty);
17378 #line 17378 OMC_FILE
17379  }
17380  else
17381  {
17382 #line 935 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17383  tmpMeta[0] = mmc_mk_cons(omc_NFDimension_fromInteger(threadData, listLength(listHead(_values)), 1), MMC_REFSTRUCTLIT(mmc_nil));
17384 #line 935 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17385  tmpMeta[1] = mmc_mk_box3(10, &NFType_ARRAY__desc, _OMC_LIT84, tmpMeta[0]);
17386 #line 935 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17387  _ty = tmpMeta[1];
17388 #line 17388 OMC_FILE
17389 
17390 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17391  {
17392 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17393  modelica_metatype _$tmpVar93;
17394 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17395  modelica_metatype* tmp1;
17396 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17397  modelica_metatype _$tmpVar92;
17398 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17399  int tmp4;
17400 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17401  modelica_metatype row_loopVar = 0;
17402 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17404 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17405  row_loopVar = _values;
17406 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17407  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
17408 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17409  _$tmpVar93 = tmpMeta[1]; /* defaultValue */
17410 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17411  tmp1 = &_$tmpVar93;
17412 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17413  while(1) {
17414 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17415  tmp4 = 1;
17416 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17417  if (!listEmpty(row_loopVar)) {
17418 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17419  _row = MMC_CAR(row_loopVar);
17420 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17421  row_loopVar = MMC_CDR(row_loopVar);
17422 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17423  tmp4--;
17424 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17425  }
17426 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17427  if (tmp4 == 0) {
17428 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17429  {
17430 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17431  modelica_metatype _$tmpVar91;
17432 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17433  modelica_metatype* tmp2;
17434 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17435  modelica_metatype _$tmpVar90;
17436 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17437  int tmp3;
17438 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17439  modelica_metatype v_loopVar = 0;
17440 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17441  modelica_metatype _v;
17442 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17443  v_loopVar = _row;
17444 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17445  tmpMeta[3] = MMC_REFSTRUCTLIT(mmc_nil);
17446 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17447  _$tmpVar91 = tmpMeta[3]; /* defaultValue */
17448 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17449  tmp2 = &_$tmpVar91;
17450 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17451  while(1) {
17452 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17453  tmp3 = 1;
17454 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17455  if (!listEmpty(v_loopVar)) {
17456 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17457  _v = MMC_CAR(v_loopVar);
17458 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17459  v_loopVar = MMC_CDR(v_loopVar);
17460 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17461  tmp3--;
17462 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17463  }
17464 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17465  if (tmp3 == 0) {
17466 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17467  tmpMeta[4] = mmc_mk_box2(4, &NFExpression_REAL__desc, _v);
17468 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17469  _$tmpVar90 = tmpMeta[4];
17470 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17471  *tmp2 = mmc_mk_cons(_$tmpVar90,0);
17472 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17473  tmp2 = &MMC_CDR(*tmp2);
17474 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17475  } else if (tmp3 == 1) {
17476 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17477  break;
17478 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17479  } else {
17480 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17481  MMC_THROW_INTERNAL();
17482 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17483  }
17484 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17485  }
17486 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17487  *tmp2 = mmc_mk_nil();
17488 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17489  tmpMeta[2] = _$tmpVar91;
17490 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17491  }
17492 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17493  _$tmpVar92 = omc_NFExpression_makeArray(threadData, _ty, tmpMeta[2], 1);
17494 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17495  *tmp1 = mmc_mk_cons(_$tmpVar92,0);
17496 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17497  tmp1 = &MMC_CDR(*tmp1);
17498 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17499  } else if (tmp4 == 1) {
17500 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17501  break;
17502 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17503  } else {
17504 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17505  MMC_THROW_INTERNAL();
17506 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17507  }
17508 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17509  }
17510 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17511  *tmp1 = mmc_mk_nil();
17512 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17513  tmpMeta[0] = _$tmpVar93;
17514 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17515  }
17516 #line 936 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17517  _expl = tmpMeta[0];
17518 #line 17518 OMC_FILE
17519 
17520 #line 937 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17521  _ty = omc_NFType_liftArrayLeft(threadData, _ty, omc_NFDimension_fromInteger(threadData, listLength(_expl), 1));
17522 #line 17522 OMC_FILE
17523 
17524 #line 938 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17525  _exp = omc_NFExpression_makeArray(threadData, _ty, _expl, 1);
17526 #line 17526 OMC_FILE
17527  }
17528  _return: OMC_LABEL_UNUSED
17529  return _exp;
17530 }
m_integer modelica_integer
DLLExport modelica_metatype omc_NFDimension_fromInteger(threadData_t *threadData, modelica_integer _n, modelica_integer _var)
Definition: NFDimension.c:1295
struct record_description NFType_ARRAY__desc
DLLExport modelica_metatype omc_NFExpression_makeArray(threadData_t *threadData, modelica_metatype _ty, modelica_metatype _expl, modelica_boolean _literal)
void * modelica_metatype
modelica_integer listLength(modelica_metatype)
struct record_description NFExpression_REAL__desc
DLLExport modelica_metatype omc_NFType_liftArrayLeft(threadData_t *threadData, modelica_metatype _ $in_ty, modelica_metatype _dim)
Definition: NFType.c:4095
DLLExport modelica_metatype omc_NFExpression_makeEmptyArray(threadData_t *threadData, modelica_metatype _ty)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_makeSubscriptedExp()

DLLExport modelica_metatype omc_NFExpression_makeSubscriptedExp ( threadData_t threadData,
modelica_metatype  _subscripts,
modelica_metatype  _exp 
)

Definition at line 15883 of file NFExpression.c.

15884 {
15885  modelica_metatype _outExp = NULL;
15886  modelica_metatype _e = NULL;
15887  modelica_metatype _subs = NULL;
15888  modelica_metatype _extra_subs = NULL;
15889  modelica_metatype _ty = NULL;
15890  modelica_integer _dim_count;
15891  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
15892  MMC_SO();
15893  _tailrecursive: OMC_LABEL_UNUSED
15894 #line 1302 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15895 
15896 #line 1302 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15897 
15898 #line 1302 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15899 
15900 #line 15900 OMC_FILE
15901  { /* match expression */
15902  modelica_metatype tmp4_1;
15903  tmp4_1 = _exp;
15904  {
15905  volatile mmc_switch_type tmp4;
15906  int tmp5;
15907  tmp4 = 0;
15908  for (; tmp4 < 2; tmp4++) {
15909  switch (MMC_SWITCH_CAST(tmp4)) {
15910  case 0: {
15911  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,23,3) == 0) goto tmp3_end;
15912 
15913  /* Pattern matching succeeded */
15914 #line 1303 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15915  tmpMeta[0+0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)));
15916 #line 1303 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15917  tmpMeta[0+1] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
15918 #line 1303 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15919  tmpMeta[0+2] = omc_NFExpression_typeOf(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
15920 #line 15920 OMC_FILE
15921  goto tmp3_done;
15922  }
15923  case 1: {
15924 
15925  /* Pattern matching succeeded */
15926 #line 1304 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15927  tmpMeta[3] = MMC_REFSTRUCTLIT(mmc_nil);
15928 #line 1304 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15929  tmpMeta[0+0] = _exp;
15930 #line 1304 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15931  tmpMeta[0+1] = tmpMeta[3];
15932 #line 1304 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15933  tmpMeta[0+2] = omc_NFExpression_typeOf(threadData, _exp);
15934 #line 15934 OMC_FILE
15935  goto tmp3_done;
15936  }
15937  }
15938  goto tmp3_end;
15939  tmp3_end: ;
15940  }
15941  goto goto_2;
15942  goto_2:;
15943  MMC_THROW_INTERNAL();
15944  goto tmp3_done;
15945  tmp3_done:;
15946  }
15947  }
15948  _e = tmpMeta[0+0];
15949  _subs = tmpMeta[0+1];
15950  _ty = tmpMeta[0+2];
15951 
15952 #line 1307 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15953  _dim_count = omc_NFType_dimensionCount(threadData, _ty);
15954 #line 15954 OMC_FILE
15955 
15956 #line 1308 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15957  _subs = omc_NFSubscript_mergeList(threadData, _subscripts, _subs, (modelica_integer)_dim_count ,&_extra_subs);
15958 #line 15958 OMC_FILE
15959 
15960 #line 1311 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15961  if((!listEmpty(_extra_subs)))
15962 #line 1311 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15963  {
15964 #line 1312 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15965  tmpMeta[0] = stringAppend(_OMC_LIT81,omc_NFExpression_toString(threadData, _exp));
15966 #line 1312 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15967  tmpMeta[1] = stringAppend(tmpMeta[0],_OMC_LIT82);
15968 #line 1312 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15969  tmpMeta[2] = stringAppend(tmpMeta[1],omc_NFSubscript_toStringList(threadData, _subscripts));
15970 #line 1312 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15971  omc_Error_assertion(threadData, 0, tmpMeta[2], _OMC_LIT83);
15972 #line 15972 OMC_FILE
15973  }
15974 
15975 #line 1316 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15976  _ty = omc_NFType_subscript(threadData, _ty, _subs);
15977 #line 15977 OMC_FILE
15978 
15979 #line 1317 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15980  tmpMeta[0] = mmc_mk_box4(26, &NFExpression_SUBSCRIPTED__EXP__desc, _e, _subs, _ty);
15981 #line 1317 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15982  _outExp = tmpMeta[0];
15983 #line 15983 OMC_FILE
15984  _return: OMC_LABEL_UNUSED
15985  return _outExp;
15986 }
struct record_description NFExpression_SUBSCRIPTED__EXP__desc
DLLExport modelica_metatype omc_NFSubscript_mergeList(threadData_t *threadData, modelica_metatype _newSubs, modelica_metatype _oldSubs, modelica_integer _dimensions, modelica_metatype *out_remainingSubs)
Definition: NFSubscript.c:76
DLLExport modelica_integer omc_NFType_dimensionCount(threadData_t *threadData, modelica_metatype _ty)
Definition: NFType.c:1812
m_integer modelica_integer
DLLExport modelica_metatype omc_NFExpression_typeOf(threadData_t *threadData, modelica_metatype _exp)
float mmc_switch_type
DLLExport void omc_Error_assertion(threadData_t *threadData, modelica_boolean _b, modelica_string _message, modelica_metatype _info)
Definition: Error.c:325
modelica_string stringAppend(modelica_string s1, modelica_string s2)
DLLExport modelica_metatype omc_NFType_subscript(threadData_t *threadData, modelica_metatype _ $in_ty, modelica_metatype _subs)
Definition: NFType.c:680
DLLExport modelica_string omc_NFExpression_toString(threadData_t *threadData, modelica_metatype _exp)
void * modelica_metatype
DLLExport modelica_string omc_NFSubscript_toStringList(threadData_t *threadData, modelica_metatype _subscripts)
Definition: NFSubscript.c:1226
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_NFExpression_makeZero()

DLLExport modelica_metatype omc_NFExpression_makeZero ( threadData_t threadData,
modelica_metatype  _ty 
)

Definition at line 3197 of file NFExpression.c.

3198 {
3199  modelica_metatype _zeroExp = NULL;
3200  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
3201  MMC_SO();
3202  _tailrecursive: OMC_LABEL_UNUSED
3203 #line 3203 OMC_FILE
3204  { /* match expression */
3205  modelica_metatype tmp3_1;
3206  tmp3_1 = _ty;
3207  {
3208  int tmp3;
3209  {
3210  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
3211  case 4: {
3212 
3213  /* Pattern matching succeeded */
3214 #line 4082 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3215  tmpMeta[0] = _OMC_LIT41;
3216 #line 3216 OMC_FILE
3217  goto tmp2_done;
3218  }
3219  case 3: {
3220 
3221  /* Pattern matching succeeded */
3222 #line 4083 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3223  tmpMeta[0] = _OMC_LIT42;
3224 #line 3224 OMC_FILE
3225  goto tmp2_done;
3226  }
3227  case 10: {
3228 
3229  /* Pattern matching succeeded */
3230 #line 4085 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3231  tmpMeta[1] = mmc_mk_box4(10, &NFExpression_ARRAY__desc, _ty, omc_List_fill(threadData, omc_NFExpression_makeZero(threadData, omc_NFType_unliftArray(threadData, _ty)), omc_NFDimension_size(threadData, listHead((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_ty), 3)))))), mmc_mk_boolean(1));
3232 #line 4085 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
3233  tmpMeta[0] = tmpMeta[1];
3234 #line 3234 OMC_FILE
3235  goto tmp2_done;
3236  }
3237  }
3238  goto tmp2_end;
3239  tmp2_end: ;
3240  }
3241  goto goto_1;
3242  goto_1:;
3243  MMC_THROW_INTERNAL();
3244  goto tmp2_done;
3245  tmp2_done:;
3246  }
3247  }
3248  _zeroExp = tmpMeta[0];
3249  _return: OMC_LABEL_UNUSED
3250  return _zeroExp;
3251 }
DLLExport modelica_integer omc_NFDimension_size(threadData_t *threadData, modelica_metatype _dim)
Definition: NFDimension.c:1013
struct record_description NFExpression_ARRAY__desc
DLLExport modelica_metatype omc_NFExpression_makeZero(threadData_t *threadData, modelica_metatype _ty)
void * modelica_metatype
DLLExport modelica_metatype omc_List_fill(threadData_t *threadData, modelica_metatype _inElement, modelica_integer _inCount)
Definition: List.c:18885
DLLExport modelica_metatype omc_NFType_unliftArray(threadData_t *threadData, modelica_metatype _ $in_ty)
Definition: NFType.c:3915
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_map()

DLLExport modelica_metatype omc_NFExpression_map ( threadData_t threadData,
modelica_metatype  _exp,
modelica_fnptr  _func 
)

Definition at line 12064 of file NFExpression.c.

12065 {
12066  modelica_metatype _outExp = NULL;
12067  modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
12068  MMC_SO();
12069  _tailrecursive: OMC_LABEL_UNUSED
12070 #line 12070 OMC_FILE
12071  { /* match expression */
12072  modelica_metatype tmp3_1;
12073  tmp3_1 = _exp;
12074  {
12075  modelica_metatype _e1 = NULL;
12076  modelica_metatype _e2 = NULL;
12077  modelica_metatype _e3 = NULL;
12078  modelica_metatype _e4 = NULL;
12079  volatile mmc_switch_type tmp3;
12080  int tmp4;
12081  tmp3 = 0;
12082  for (; tmp3 < 29; tmp3++) {
12083  switch (MMC_SWITCH_CAST(tmp3)) {
12084  case 0: {
12085  modelica_boolean tmp5;
12086  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,29,1) == 0) goto tmp2_end;
12087  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
12088  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,2) == 0) goto tmp2_end;
12089  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
12090  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
12091  _e1 = tmpMeta[2];
12092  _e2 = tmpMeta[3];
12093  /* Pattern matching succeeded */
12094 #line 1747 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12095  _e3 = omc_NFExpression_map(threadData, _e1, ((modelica_fnptr) _func));
12096 #line 12096 OMC_FILE
12097 
12098 #line 1748 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12099  _e4 = omc_NFExpression_map(threadData, _e2, ((modelica_fnptr) _func));
12100 #line 12100 OMC_FILE
12101 #line 1749 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12102  tmp5 = (modelica_boolean)(referenceEq(_e1, _e3) && referenceEq(_e2, _e4));
12103 #line 1749 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12104  if(tmp5)
12105 #line 1749 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12106  {
12107 #line 1749 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12108  tmpMeta[3] = _exp;
12109 #line 1749 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12110  }
12111 #line 1749 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12112  else
12113 #line 1749 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12114  {
12115 #line 1749 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12116  tmpMeta[1] = mmc_mk_box3(4, &NFExpression_ClockKind_INTEGER__CLOCK__desc, _e3, _e4);
12117 #line 1749 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12118  tmpMeta[2] = mmc_mk_box2(32, &NFExpression_CLKCONST__desc, tmpMeta[1]);
12119 #line 1749 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12120  tmpMeta[3] = tmpMeta[2];
12121 #line 1749 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12122  }
12123 #line 1749 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12124  tmpMeta[0] = tmpMeta[3];
12125 #line 12125 OMC_FILE
12126  goto tmp2_done;
12127  }
12128  case 1: {
12129  modelica_boolean tmp6;
12130  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,29,1) == 0) goto tmp2_end;
12131  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
12132  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,1) == 0) goto tmp2_end;
12133  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
12134  _e1 = tmpMeta[2];
12135  /* Pattern matching succeeded */
12136 #line 1756 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12137  _e2 = omc_NFExpression_map(threadData, _e1, ((modelica_fnptr) _func));
12138 #line 12138 OMC_FILE
12139 #line 1757 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12140  tmp6 = (modelica_boolean)referenceEq(_e1, _e2);
12141 #line 1757 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12142  if(tmp6)
12143 #line 1757 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12144  {
12145 #line 1757 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12146  tmpMeta[3] = _exp;
12147 #line 1757 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12148  }
12149 #line 1757 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12150  else
12151 #line 1757 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12152  {
12153 #line 1757 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12154  tmpMeta[1] = mmc_mk_box2(5, &NFExpression_ClockKind_REAL__CLOCK__desc, _e2);
12155 #line 1757 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12156  tmpMeta[2] = mmc_mk_box2(32, &NFExpression_CLKCONST__desc, tmpMeta[1]);
12157 #line 1757 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12158  tmpMeta[3] = tmpMeta[2];
12159 #line 1757 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12160  }
12161 #line 1757 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12162  tmpMeta[0] = tmpMeta[3];
12163 #line 12163 OMC_FILE
12164  goto tmp2_done;
12165  }
12166  case 2: {
12167  modelica_boolean tmp7;
12168  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,29,1) == 0) goto tmp2_end;
12169  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
12170  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,2) == 0) goto tmp2_end;
12171  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
12172  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
12173  _e1 = tmpMeta[2];
12174  _e2 = tmpMeta[3];
12175  /* Pattern matching succeeded */
12176 #line 1764 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12177  _e3 = omc_NFExpression_map(threadData, _e1, ((modelica_fnptr) _func));
12178 #line 12178 OMC_FILE
12179 
12180 #line 1765 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12181  _e4 = omc_NFExpression_map(threadData, _e2, ((modelica_fnptr) _func));
12182 #line 12182 OMC_FILE
12183 #line 1766 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12184  tmp7 = (modelica_boolean)(referenceEq(_e1, _e3) && referenceEq(_e2, _e4));
12185 #line 1766 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12186  if(tmp7)
12187 #line 1766 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12188  {
12189 #line 1766 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12190  tmpMeta[3] = _exp;
12191 #line 1766 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12192  }
12193 #line 1766 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12194  else
12195 #line 1766 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12196  {
12197 #line 1766 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12198  tmpMeta[1] = mmc_mk_box3(6, &NFExpression_ClockKind_BOOLEAN__CLOCK__desc, _e3, _e4);
12199 #line 1766 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12200  tmpMeta[2] = mmc_mk_box2(32, &NFExpression_CLKCONST__desc, tmpMeta[1]);
12201 #line 1766 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12202  tmpMeta[3] = tmpMeta[2];
12203 #line 1766 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12204  }
12205 #line 1766 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12206  tmpMeta[0] = tmpMeta[3];
12207 #line 12207 OMC_FILE
12208  goto tmp2_done;
12209  }
12210  case 3: {
12211  modelica_boolean tmp8;
12212  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,29,1) == 0) goto tmp2_end;
12213  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
12214  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],4,2) == 0) goto tmp2_end;
12215  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
12216  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
12217  _e1 = tmpMeta[2];
12218  _e2 = tmpMeta[3];
12219  /* Pattern matching succeeded */
12220 #line 1773 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12221  _e3 = omc_NFExpression_map(threadData, _e1, ((modelica_fnptr) _func));
12222 #line 12222 OMC_FILE
12223 
12224 #line 1774 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12225  _e4 = omc_NFExpression_map(threadData, _e2, ((modelica_fnptr) _func));
12226 #line 12226 OMC_FILE
12227 #line 1775 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12228  tmp8 = (modelica_boolean)(referenceEq(_e1, _e3) && referenceEq(_e2, _e4));
12229 #line 1775 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12230  if(tmp8)
12231 #line 1775 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12232  {
12233 #line 1775 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12234  tmpMeta[3] = _exp;
12235 #line 1775 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12236  }
12237 #line 1775 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12238  else
12239 #line 1775 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12240  {
12241 #line 1775 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12242  tmpMeta[1] = mmc_mk_box3(7, &NFExpression_ClockKind_SOLVER__CLOCK__desc, _e3, _e4);
12243 #line 1775 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12244  tmpMeta[2] = mmc_mk_box2(32, &NFExpression_CLKCONST__desc, tmpMeta[1]);
12245 #line 1775 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12246  tmpMeta[3] = tmpMeta[2];
12247 #line 1775 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12248  }
12249 #line 1775 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12250  tmpMeta[0] = tmpMeta[3];
12251 #line 12251 OMC_FILE
12252  goto tmp2_done;
12253  }
12254  case 4: {
12255  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,5,2) == 0) goto tmp2_end;
12256 
12257  /* Pattern matching succeeded */
12258 #line 1780 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12259  tmpMeta[1] = mmc_mk_box3(8, &NFExpression_CREF__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), omc_NFExpression_mapCref(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func)));
12260 #line 1780 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12261  tmpMeta[0] = tmpMeta[1];
12262 #line 12262 OMC_FILE
12263  goto tmp2_done;
12264  }
12265  case 5: {
12266  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,7,3) == 0) goto tmp2_end;
12267 
12268  /* Pattern matching succeeded */
12269 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12270  {
12271 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12272  modelica_metatype _$tmpVar45;
12273 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12274  modelica_metatype* tmp9;
12275 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12276  modelica_metatype _$tmpVar44;
12277 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12278  int tmp10;
12279 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12280  modelica_metatype e_loopVar = 0;
12281 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12282  modelica_metatype _e;
12283 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12284  e_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
12285 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12286  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
12287 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12288  _$tmpVar45 = tmpMeta[2]; /* defaultValue */
12289 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12290  tmp9 = &_$tmpVar45;
12291 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12292  while(1) {
12293 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12294  tmp10 = 1;
12295 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12296  if (!listEmpty(e_loopVar)) {
12297 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12298  _e = MMC_CAR(e_loopVar);
12299 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12300  e_loopVar = MMC_CDR(e_loopVar);
12301 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12302  tmp10--;
12303 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12304  }
12305 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12306  if (tmp10 == 0) {
12307 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12308  _$tmpVar44 = omc_NFExpression_map(threadData, _e, ((modelica_fnptr) _func));
12309 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12310  *tmp9 = mmc_mk_cons(_$tmpVar44,0);
12311 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12312  tmp9 = &MMC_CDR(*tmp9);
12313 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12314  } else if (tmp10 == 1) {
12315 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12316  break;
12317 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12318  } else {
12319 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12320  goto goto_1;
12321 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12322  }
12323 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12324  }
12325 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12326  *tmp9 = mmc_mk_nil();
12327 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12328  tmpMeta[1] = _$tmpVar45;
12329 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12330  }
12331 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12332  tmpMeta[3] = mmc_mk_box4(10, &NFExpression_ARRAY__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), tmpMeta[1], (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
12333 #line 1781 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12334  tmpMeta[0] = tmpMeta[3];
12335 #line 12335 OMC_FILE
12336  goto tmp2_done;
12337  }
12338  case 6: {
12339  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,8,1) == 0) goto tmp2_end;
12340 
12341  /* Pattern matching succeeded */
12342 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12343  {
12344 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12345  modelica_metatype _$tmpVar49;
12346 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12347  modelica_metatype* tmp11;
12348 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12349  modelica_metatype _$tmpVar48;
12350 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12351  int tmp14;
12352 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12353  modelica_metatype row_loopVar = 0;
12354 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12356 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12357  row_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)));
12358 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12359  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
12360 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12361  _$tmpVar49 = tmpMeta[2]; /* defaultValue */
12362 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12363  tmp11 = &_$tmpVar49;
12364 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12365  while(1) {
12366 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12367  tmp14 = 1;
12368 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12369  if (!listEmpty(row_loopVar)) {
12370 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12371  _row = MMC_CAR(row_loopVar);
12372 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12373  row_loopVar = MMC_CDR(row_loopVar);
12374 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12375  tmp14--;
12376 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12377  }
12378 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12379  if (tmp14 == 0) {
12380 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12381  {
12382 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12383  modelica_metatype _$tmpVar47;
12384 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12385  modelica_metatype* tmp12;
12386 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12387  modelica_metatype _$tmpVar46;
12388 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12389  int tmp13;
12390 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12391  modelica_metatype e_loopVar = 0;
12392 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12393  modelica_metatype _e;
12394 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12395  e_loopVar = _row;
12396 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12397  tmpMeta[4] = MMC_REFSTRUCTLIT(mmc_nil);
12398 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12399  _$tmpVar47 = tmpMeta[4]; /* defaultValue */
12400 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12401  tmp12 = &_$tmpVar47;
12402 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12403  while(1) {
12404 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12405  tmp13 = 1;
12406 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12407  if (!listEmpty(e_loopVar)) {
12408 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12409  _e = MMC_CAR(e_loopVar);
12410 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12411  e_loopVar = MMC_CDR(e_loopVar);
12412 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12413  tmp13--;
12414 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12415  }
12416 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12417  if (tmp13 == 0) {
12418 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12419  _$tmpVar46 = omc_NFExpression_map(threadData, _e, ((modelica_fnptr) _func));
12420 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12421  *tmp12 = mmc_mk_cons(_$tmpVar46,0);
12422 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12423  tmp12 = &MMC_CDR(*tmp12);
12424 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12425  } else if (tmp13 == 1) {
12426 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12427  break;
12428 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12429  } else {
12430 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12431  goto goto_1;
12432 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12433  }
12434 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12435  }
12436 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12437  *tmp12 = mmc_mk_nil();
12438 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12439  tmpMeta[3] = _$tmpVar47;
12440 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12441  }
12442 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12443  _$tmpVar48 = tmpMeta[3];
12444 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12445  *tmp11 = mmc_mk_cons(_$tmpVar48,0);
12446 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12447  tmp11 = &MMC_CDR(*tmp11);
12448 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12449  } else if (tmp14 == 1) {
12450 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12451  break;
12452 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12453  } else {
12454 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12455  goto goto_1;
12456 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12457  }
12458 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12459  }
12460 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12461  *tmp11 = mmc_mk_nil();
12462 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12463  tmpMeta[1] = _$tmpVar49;
12464 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12465  }
12466 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12467  tmpMeta[5] = mmc_mk_box2(11, &NFExpression_MATRIX__desc, tmpMeta[1]);
12468 #line 1782 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12469  tmpMeta[0] = tmpMeta[5];
12470 #line 12470 OMC_FILE
12471  goto tmp2_done;
12472  }
12473  case 7: {
12474  modelica_boolean tmp15;
12475  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,9,4) == 0) goto tmp2_end;
12476  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
12477  if (optionNone(tmpMeta[1])) goto tmp2_end;
12478  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
12479 
12480  _e2 = tmpMeta[2];
12481  /* Pattern matching succeeded */
12482 #line 1786 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12483  _e1 = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func));
12484 #line 12484 OMC_FILE
12485 
12486 #line 1787 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12487  _e4 = omc_NFExpression_map(threadData, _e2, ((modelica_fnptr) _func));
12488 #line 12488 OMC_FILE
12489 
12490 #line 1788 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12491  _e3 = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))), ((modelica_fnptr) _func));
12492 #line 12492 OMC_FILE
12493 #line 1789 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12494  tmp15 = (modelica_boolean)((referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e1) && referenceEq(_e2, _e4)) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))), _e3));
12495 #line 1789 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12496  if(tmp15)
12497 #line 1789 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12498  {
12499 #line 1789 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12500  tmpMeta[2] = _exp;
12501 #line 1789 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12502  }
12503 #line 1789 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12504  else
12505 #line 1789 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12506  {
12507 #line 1789 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12508  tmpMeta[1] = mmc_mk_box5(12, &NFExpression_RANGE__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1, mmc_mk_some(_e4), _e3);
12509 #line 1789 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12510  tmpMeta[2] = tmpMeta[1];
12511 #line 1789 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12512  }
12513 #line 1789 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12514  tmpMeta[0] = tmpMeta[2];
12515 #line 12515 OMC_FILE
12516  goto tmp2_done;
12517  }
12518  case 8: {
12519  modelica_boolean tmp16;
12520  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,9,4) == 0) goto tmp2_end;
12521 
12522  /* Pattern matching succeeded */
12523 #line 1795 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12524  _e1 = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func));
12525 #line 12525 OMC_FILE
12526 
12527 #line 1796 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12528  _e3 = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))), ((modelica_fnptr) _func));
12529 #line 12529 OMC_FILE
12530 #line 1797 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12531  tmp16 = (modelica_boolean)(referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e1) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))), _e3));
12532 #line 1797 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12533  if(tmp16)
12534 #line 1797 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12535  {
12536 #line 1797 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12537  tmpMeta[2] = _exp;
12538 #line 1797 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12539  }
12540 #line 1797 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12541  else
12542 #line 1797 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12543  {
12544 #line 1797 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12545  tmpMeta[1] = mmc_mk_box5(12, &NFExpression_RANGE__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1, mmc_mk_none(), _e3);
12546 #line 1797 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12547  tmpMeta[2] = tmpMeta[1];
12548 #line 1797 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12549  }
12550 #line 1797 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12551  tmpMeta[0] = tmpMeta[2];
12552 #line 12552 OMC_FILE
12553  goto tmp2_done;
12554  }
12555  case 9: {
12556  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,10,2) == 0) goto tmp2_end;
12557 
12558  /* Pattern matching succeeded */
12559 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12560  {
12561 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12562  modelica_metatype _$tmpVar51;
12563 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12564  modelica_metatype* tmp17;
12565 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12566  modelica_metatype _$tmpVar50;
12567 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12568  int tmp18;
12569 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12570  modelica_metatype e_loopVar = 0;
12571 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12572  modelica_metatype _e;
12573 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12574  e_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
12575 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12576  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
12577 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12578  _$tmpVar51 = tmpMeta[2]; /* defaultValue */
12579 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12580  tmp17 = &_$tmpVar51;
12581 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12582  while(1) {
12583 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12584  tmp18 = 1;
12585 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12586  if (!listEmpty(e_loopVar)) {
12587 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12588  _e = MMC_CAR(e_loopVar);
12589 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12590  e_loopVar = MMC_CDR(e_loopVar);
12591 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12592  tmp18--;
12593 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12594  }
12595 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12596  if (tmp18 == 0) {
12597 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12598  _$tmpVar50 = omc_NFExpression_map(threadData, _e, ((modelica_fnptr) _func));
12599 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12600  *tmp17 = mmc_mk_cons(_$tmpVar50,0);
12601 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12602  tmp17 = &MMC_CDR(*tmp17);
12603 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12604  } else if (tmp18 == 1) {
12605 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12606  break;
12607 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12608  } else {
12609 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12610  goto goto_1;
12611 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12612  }
12613 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12614  }
12615 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12616  *tmp17 = mmc_mk_nil();
12617 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12618  tmpMeta[1] = _$tmpVar51;
12619 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12620  }
12621 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12622  tmpMeta[3] = mmc_mk_box3(13, &NFExpression_TUPLE__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), tmpMeta[1]);
12623 #line 1801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12624  tmpMeta[0] = tmpMeta[3];
12625 #line 12625 OMC_FILE
12626  goto tmp2_done;
12627  }
12628  case 10: {
12629  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,11,3) == 0) goto tmp2_end;
12630 
12631  /* Pattern matching succeeded */
12632 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12633  {
12634 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12635  modelica_metatype _$tmpVar53;
12636 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12637  modelica_metatype* tmp19;
12638 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12639  modelica_metatype _$tmpVar52;
12640 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12641  int tmp20;
12642 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12643  modelica_metatype e_loopVar = 0;
12644 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12645  modelica_metatype _e;
12646 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12647  e_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4)));
12648 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12649  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
12650 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12651  _$tmpVar53 = tmpMeta[2]; /* defaultValue */
12652 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12653  tmp19 = &_$tmpVar53;
12654 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12655  while(1) {
12656 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12657  tmp20 = 1;
12658 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12659  if (!listEmpty(e_loopVar)) {
12660 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12661  _e = MMC_CAR(e_loopVar);
12662 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12663  e_loopVar = MMC_CDR(e_loopVar);
12664 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12665  tmp20--;
12666 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12667  }
12668 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12669  if (tmp20 == 0) {
12670 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12671  _$tmpVar52 = omc_NFExpression_map(threadData, _e, ((modelica_fnptr) _func));
12672 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12673  *tmp19 = mmc_mk_cons(_$tmpVar52,0);
12674 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12675  tmp19 = &MMC_CDR(*tmp19);
12676 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12677  } else if (tmp20 == 1) {
12678 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12679  break;
12680 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12681  } else {
12682 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12683  goto goto_1;
12684 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12685  }
12686 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12687  }
12688 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12689  *tmp19 = mmc_mk_nil();
12690 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12691  tmpMeta[1] = _$tmpVar53;
12692 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12693  }
12694 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12695  tmpMeta[3] = mmc_mk_box4(14, &NFExpression_RECORD__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), tmpMeta[1]);
12696 #line 1804 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12697  tmpMeta[0] = tmpMeta[3];
12698 #line 12698 OMC_FILE
12699  goto tmp2_done;
12700  }
12701  case 11: {
12702  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,12,1) == 0) goto tmp2_end;
12703 
12704  /* Pattern matching succeeded */
12705 #line 1806 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12706  tmpMeta[1] = mmc_mk_box2(15, &NFExpression_CALL__desc, omc_NFExpression_mapCall(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func)));
12707 #line 1806 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12708  tmpMeta[0] = tmpMeta[1];
12709 #line 12709 OMC_FILE
12710  goto tmp2_done;
12711  }
12712  case 12: {
12713  modelica_boolean tmp21;
12714  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,13,2) == 0) goto tmp2_end;
12715  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
12716  if (optionNone(tmpMeta[1])) goto tmp2_end;
12717  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
12718  _e2 = tmpMeta[2];
12719  /* Pattern matching succeeded */
12720 #line 1810 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12721  _e1 = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func));
12722 #line 12722 OMC_FILE
12723 
12724 #line 1811 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12725  _e3 = omc_NFExpression_map(threadData, _e2, ((modelica_fnptr) _func));
12726 #line 12726 OMC_FILE
12727 #line 1812 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12728  tmp21 = (modelica_boolean)(referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1) && referenceEq(_e2, _e3));
12729 #line 1812 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12730  if(tmp21)
12731 #line 1812 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12732  {
12733 #line 1812 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12734  tmpMeta[2] = _exp;
12735 #line 1812 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12736  }
12737 #line 1812 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12738  else
12739 #line 1812 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12740  {
12741 #line 1812 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12742  tmpMeta[1] = mmc_mk_box3(16, &NFExpression_SIZE__desc, _e1, mmc_mk_some(_e3));
12743 #line 1812 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12744  tmpMeta[2] = tmpMeta[1];
12745 #line 1812 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12746  }
12747 #line 1812 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12748  tmpMeta[0] = tmpMeta[2];
12749 #line 12749 OMC_FILE
12750  goto tmp2_done;
12751  }
12752  case 13: {
12753  modelica_boolean tmp22;
12754  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,13,2) == 0) goto tmp2_end;
12755 
12756  /* Pattern matching succeeded */
12757 #line 1817 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12758  _e1 = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func));
12759 #line 12759 OMC_FILE
12760 #line 1818 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12761  tmp22 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
12762 #line 1818 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12763  if(tmp22)
12764 #line 1818 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12765  {
12766 #line 1818 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12767  tmpMeta[2] = _exp;
12768 #line 1818 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12769  }
12770 #line 1818 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12771  else
12772 #line 1818 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12773  {
12774 #line 1818 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12775  tmpMeta[1] = mmc_mk_box3(16, &NFExpression_SIZE__desc, _e1, mmc_mk_none());
12776 #line 1818 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12777  tmpMeta[2] = tmpMeta[1];
12778 #line 1818 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12779  }
12780 #line 1818 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12781  tmpMeta[0] = tmpMeta[2];
12782 #line 12782 OMC_FILE
12783  goto tmp2_done;
12784  }
12785  case 14: {
12786  modelica_boolean tmp23;
12787  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,15,3) == 0) goto tmp2_end;
12788 
12789  /* Pattern matching succeeded */
12790 #line 1823 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12791  _e1 = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func));
12792 #line 12792 OMC_FILE
12793 
12794 #line 1824 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12795  _e2 = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func));
12796 #line 12796 OMC_FILE
12797 #line 1825 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12798  tmp23 = (modelica_boolean)(referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _e2));
12799 #line 1825 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12800  if(tmp23)
12801 #line 1825 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12802  {
12803 #line 1825 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12804  tmpMeta[2] = _exp;
12805 #line 1825 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12806  }
12807 #line 1825 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12808  else
12809 #line 1825 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12810  {
12811 #line 1825 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12812  tmpMeta[1] = mmc_mk_box4(18, &NFExpression_BINARY__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e2);
12813 #line 1825 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12814  tmpMeta[2] = tmpMeta[1];
12815 #line 1825 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12816  }
12817 #line 1825 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12818  tmpMeta[0] = tmpMeta[2];
12819 #line 12819 OMC_FILE
12820  goto tmp2_done;
12821  }
12822  case 15: {
12823  modelica_boolean tmp24;
12824  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,16,2) == 0) goto tmp2_end;
12825 
12826  /* Pattern matching succeeded */
12827 #line 1831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12828  _e1 = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func));
12829 #line 12829 OMC_FILE
12830 #line 1832 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12831  tmp24 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e1);
12832 #line 1832 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12833  if(tmp24)
12834 #line 1832 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12835  {
12836 #line 1832 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12837  tmpMeta[2] = _exp;
12838 #line 1832 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12839  }
12840 #line 1832 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12841  else
12842 #line 1832 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12843  {
12844 #line 1832 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12845  tmpMeta[1] = mmc_mk_box3(19, &NFExpression_UNARY__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
12846 #line 1832 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12847  tmpMeta[2] = tmpMeta[1];
12848 #line 1832 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12849  }
12850 #line 1832 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12851  tmpMeta[0] = tmpMeta[2];
12852 #line 12852 OMC_FILE
12853  goto tmp2_done;
12854  }
12855  case 16: {
12856  modelica_boolean tmp25;
12857  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,17,3) == 0) goto tmp2_end;
12858 
12859  /* Pattern matching succeeded */
12860 #line 1837 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12861  _e1 = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func));
12862 #line 12862 OMC_FILE
12863 
12864 #line 1838 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12865  _e2 = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func));
12866 #line 12866 OMC_FILE
12867 #line 1839 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12868  tmp25 = (modelica_boolean)(referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _e2));
12869 #line 1839 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12870  if(tmp25)
12871 #line 1839 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12872  {
12873 #line 1839 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12874  tmpMeta[2] = _exp;
12875 #line 1839 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12876  }
12877 #line 1839 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12878  else
12879 #line 1839 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12880  {
12881 #line 1839 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12882  tmpMeta[1] = mmc_mk_box4(20, &NFExpression_LBINARY__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e2);
12883 #line 1839 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12884  tmpMeta[2] = tmpMeta[1];
12885 #line 1839 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12886  }
12887 #line 1839 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12888  tmpMeta[0] = tmpMeta[2];
12889 #line 12889 OMC_FILE
12890  goto tmp2_done;
12891  }
12892  case 17: {
12893  modelica_boolean tmp26;
12894  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,18,2) == 0) goto tmp2_end;
12895 
12896  /* Pattern matching succeeded */
12897 #line 1845 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12898  _e1 = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func));
12899 #line 12899 OMC_FILE
12900 #line 1846 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12901  tmp26 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e1);
12902 #line 1846 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12903  if(tmp26)
12904 #line 1846 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12905  {
12906 #line 1846 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12907  tmpMeta[2] = _exp;
12908 #line 1846 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12909  }
12910 #line 1846 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12911  else
12912 #line 1846 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12913  {
12914 #line 1846 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12915  tmpMeta[1] = mmc_mk_box3(21, &NFExpression_LUNARY__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
12916 #line 1846 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12917  tmpMeta[2] = tmpMeta[1];
12918 #line 1846 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12919  }
12920 #line 1846 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12921  tmpMeta[0] = tmpMeta[2];
12922 #line 12922 OMC_FILE
12923  goto tmp2_done;
12924  }
12925  case 18: {
12926  modelica_boolean tmp27;
12927  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,19,3) == 0) goto tmp2_end;
12928 
12929  /* Pattern matching succeeded */
12930 #line 1851 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12931  _e1 = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func));
12932 #line 12932 OMC_FILE
12933 
12934 #line 1852 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12935  _e2 = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func));
12936 #line 12936 OMC_FILE
12937 #line 1853 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12938  tmp27 = (modelica_boolean)(referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _e2));
12939 #line 1853 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12940  if(tmp27)
12941 #line 1853 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12942  {
12943 #line 1853 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12944  tmpMeta[2] = _exp;
12945 #line 1853 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12946  }
12947 #line 1853 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12948  else
12949 #line 1853 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12950  {
12951 #line 1853 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12952  tmpMeta[1] = mmc_mk_box4(22, &NFExpression_RELATION__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e2);
12953 #line 1853 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12954  tmpMeta[2] = tmpMeta[1];
12955 #line 1853 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12956  }
12957 #line 1853 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12958  tmpMeta[0] = tmpMeta[2];
12959 #line 12959 OMC_FILE
12960  goto tmp2_done;
12961  }
12962  case 19: {
12963  modelica_boolean tmp28;
12964  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,20,3) == 0) goto tmp2_end;
12965 
12966  /* Pattern matching succeeded */
12967 #line 1859 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12968  _e1 = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func));
12969 #line 12969 OMC_FILE
12970 
12971 #line 1860 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12972  _e2 = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func));
12973 #line 12973 OMC_FILE
12974 
12975 #line 1861 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12976  _e3 = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func));
12977 #line 12977 OMC_FILE
12978 #line 1862 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12979  tmp28 = (modelica_boolean)((referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e2)) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _e3));
12980 #line 1862 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12981  if(tmp28)
12982 #line 1862 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12983  {
12984 #line 1862 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12985  tmpMeta[2] = _exp;
12986 #line 1862 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12987  }
12988 #line 1862 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12989  else
12990 #line 1862 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12991  {
12992 #line 1862 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12993  tmpMeta[1] = mmc_mk_box4(23, &NFExpression_IF__desc, _e1, _e2, _e3);
12994 #line 1862 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12995  tmpMeta[2] = tmpMeta[1];
12996 #line 1862 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12997  }
12998 #line 1862 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12999  tmpMeta[0] = tmpMeta[2];
13000 #line 13000 OMC_FILE
13001  goto tmp2_done;
13002  }
13003  case 20: {
13004  modelica_boolean tmp29;
13005  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,21,2) == 0) goto tmp2_end;
13006 
13007  /* Pattern matching succeeded */
13008 #line 1868 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13009  _e1 = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func));
13010 #line 13010 OMC_FILE
13011 #line 1869 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13012  tmp29 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e1);
13013 #line 1869 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13014  if(tmp29)
13015 #line 1869 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13016  {
13017 #line 1869 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13018  tmpMeta[2] = _exp;
13019 #line 1869 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13020  }
13021 #line 1869 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13022  else
13023 #line 1869 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13024  {
13025 #line 1869 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13026  tmpMeta[1] = mmc_mk_box3(24, &NFExpression_CAST__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
13027 #line 1869 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13028  tmpMeta[2] = tmpMeta[1];
13029 #line 1869 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13030  }
13031 #line 1869 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13032  tmpMeta[0] = tmpMeta[2];
13033 #line 13033 OMC_FILE
13034  goto tmp2_done;
13035  }
13036  case 21: {
13037  modelica_boolean tmp30;
13038  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,22,2) == 0) goto tmp2_end;
13039 
13040  /* Pattern matching succeeded */
13041 #line 1874 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13042  _e1 = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func));
13043 #line 13043 OMC_FILE
13044 #line 1875 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13045  tmp30 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
13046 #line 1875 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13047  if(tmp30)
13048 #line 1875 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13049  {
13050 #line 1875 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13051  tmpMeta[2] = _exp;
13052 #line 1875 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13053  }
13054 #line 1875 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13055  else
13056 #line 1875 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13057  {
13058 #line 1875 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13059  tmpMeta[1] = mmc_mk_box3(25, &NFExpression_UNBOX__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
13060 #line 1875 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13061  tmpMeta[2] = tmpMeta[1];
13062 #line 1875 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13063  }
13064 #line 1875 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13065  tmpMeta[0] = tmpMeta[2];
13066 #line 13066 OMC_FILE
13067  goto tmp2_done;
13068  }
13069  case 22: {
13070  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,23,3) == 0) goto tmp2_end;
13071 
13072  /* Pattern matching succeeded */
13073 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13074  {
13075 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13076  modelica_metatype _$tmpVar55;
13077 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13078  modelica_metatype* tmp31;
13079 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13080  modelica_metatype _$tmpVar54;
13081 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13082  int tmp32;
13083 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13084  modelica_metatype s_loopVar = 0;
13085 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13086  modelica_metatype _s;
13087 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13088  s_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
13089 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13090  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
13091 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13092  _$tmpVar55 = tmpMeta[2]; /* defaultValue */
13093 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13094  tmp31 = &_$tmpVar55;
13095 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13096  while(1) {
13097 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13098  tmp32 = 1;
13099 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13100  if (!listEmpty(s_loopVar)) {
13101 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13102  _s = MMC_CAR(s_loopVar);
13103 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13104  s_loopVar = MMC_CDR(s_loopVar);
13105 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13106  tmp32--;
13107 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13108  }
13109 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13110  if (tmp32 == 0) {
13111 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13112  _$tmpVar54 = omc_NFSubscript_mapExp(threadData, _s, ((modelica_fnptr) _func));
13113 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13114  *tmp31 = mmc_mk_cons(_$tmpVar54,0);
13115 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13116  tmp31 = &MMC_CDR(*tmp31);
13117 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13118  } else if (tmp32 == 1) {
13119 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13120  break;
13121 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13122  } else {
13123 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13124  goto goto_1;
13125 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13126  }
13127 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13128  }
13129 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13130  *tmp31 = mmc_mk_nil();
13131 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13132  tmpMeta[1] = _$tmpVar55;
13133 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13134  }
13135 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13136  tmpMeta[3] = mmc_mk_box4(26, &NFExpression_SUBSCRIPTED__EXP__desc, omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func)), tmpMeta[1], (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
13137 #line 1879 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13138  tmpMeta[0] = tmpMeta[3];
13139 #line 13139 OMC_FILE
13140  goto tmp2_done;
13141  }
13142  case 23: {
13143  modelica_boolean tmp33;
13144  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,24,3) == 0) goto tmp2_end;
13145 
13146  /* Pattern matching succeeded */
13147 #line 1883 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13148  _e1 = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func));
13149 #line 13149 OMC_FILE
13150 #line 1884 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13151  tmp33 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
13152 #line 1884 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13153  if(tmp33)
13154 #line 1884 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13155  {
13156 #line 1884 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13157  tmpMeta[2] = _exp;
13158 #line 1884 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13159  }
13160 #line 1884 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13161  else
13162 #line 1884 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13163  {
13164 #line 1884 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13165  tmpMeta[1] = mmc_mk_box4(27, &NFExpression_TUPLE__ELEMENT__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
13166 #line 1884 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13167  tmpMeta[2] = tmpMeta[1];
13168 #line 1884 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13169  }
13170 #line 1884 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13171  tmpMeta[0] = tmpMeta[2];
13172 #line 13172 OMC_FILE
13173  goto tmp2_done;
13174  }
13175  case 24: {
13176  modelica_boolean tmp34;
13177  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,25,4) == 0) goto tmp2_end;
13178 
13179  /* Pattern matching succeeded */
13180 #line 1889 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13181  _e1 = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func));
13182 #line 13182 OMC_FILE
13183 #line 1890 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13184  tmp34 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
13185 #line 1890 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13186  if(tmp34)
13187 #line 1890 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13188  {
13189 #line 1890 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13190  tmpMeta[2] = _exp;
13191 #line 1890 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13192  }
13193 #line 1890 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13194  else
13195 #line 1890 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13196  {
13197 #line 1890 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13198  tmpMeta[1] = mmc_mk_box5(28, &NFExpression_RECORD__ELEMENT__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))));
13199 #line 1890 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13200  tmpMeta[2] = tmpMeta[1];
13201 #line 1890 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13202  }
13203 #line 1890 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13204  tmpMeta[0] = tmpMeta[2];
13205 #line 13205 OMC_FILE
13206  goto tmp2_done;
13207  }
13208  case 25: {
13209  modelica_boolean tmp35;
13210  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,26,1) == 0) goto tmp2_end;
13211 
13212  /* Pattern matching succeeded */
13213 #line 1895 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13214  _e1 = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func));
13215 #line 13215 OMC_FILE
13216 #line 1896 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13217  tmp35 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
13218 #line 1896 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13219  if(tmp35)
13220 #line 1896 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13221  {
13222 #line 1896 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13223  tmpMeta[2] = _exp;
13224 #line 1896 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13225  }
13226 #line 1896 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13227  else
13228 #line 1896 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13229  {
13230 #line 1896 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13231  tmpMeta[1] = mmc_mk_box2(29, &NFExpression_BOX__desc, _e1);
13232 #line 1896 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13233  tmpMeta[2] = tmpMeta[1];
13234 #line 1896 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13235  }
13236 #line 1896 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13237  tmpMeta[0] = tmpMeta[2];
13238 #line 13238 OMC_FILE
13239  goto tmp2_done;
13240  }
13241  case 26: {
13242  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,27,1) == 0) goto tmp2_end;
13243 
13244  /* Pattern matching succeeded */
13245 #line 1901 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13246  omc_Mutable_update(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), omc_NFExpression_map(threadData, omc_Mutable_access(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))), ((modelica_fnptr) _func)));
13247 #line 13247 OMC_FILE
13248 #line 1902 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13249  tmpMeta[0] = _exp;
13250 #line 13250 OMC_FILE
13251  goto tmp2_done;
13252  }
13253  case 27: {
13254  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,30,4) == 0) goto tmp2_end;
13255 
13256  /* Pattern matching succeeded */
13257 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13258  {
13259 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13260  modelica_metatype _$tmpVar57;
13261 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13262  modelica_metatype* tmp36;
13263 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13264  modelica_metatype _$tmpVar56;
13265 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13266  int tmp37;
13267 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13268  modelica_metatype e_loopVar = 0;
13269 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13270  modelica_metatype _e;
13271 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13272  e_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
13273 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13274  tmpMeta[3] = MMC_REFSTRUCTLIT(mmc_nil);
13275 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13276  _$tmpVar57 = tmpMeta[3]; /* defaultValue */
13277 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13278  tmp36 = &_$tmpVar57;
13279 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13280  while(1) {
13281 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13282  tmp37 = 1;
13283 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13284  if (!listEmpty(e_loopVar)) {
13285 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13286  _e = MMC_CAR(e_loopVar);
13287 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13288  e_loopVar = MMC_CDR(e_loopVar);
13289 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13290  tmp37--;
13291 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13292  }
13293 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13294  if (tmp37 == 0) {
13295 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13296  _$tmpVar56 = omc_NFExpression_map(threadData, _e, ((modelica_fnptr) _func));
13297 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13298  *tmp36 = mmc_mk_cons(_$tmpVar56,0);
13299 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13300  tmp36 = &MMC_CDR(*tmp36);
13301 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13302  } else if (tmp37 == 1) {
13303 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13304  break;
13305 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13306  } else {
13307 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13308  goto goto_1;
13309 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13310  }
13311 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13312  }
13313 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13314  *tmp36 = mmc_mk_nil();
13315 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13316  tmpMeta[2] = _$tmpVar57;
13317 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13318  }
13319 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13320  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(6));
13321 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13322  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_exp), 6*sizeof(modelica_metatype));
13323 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13324  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[3] = tmpMeta[2];
13325 #line 1907 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13326  _exp = tmpMeta[1];
13327 #line 13327 OMC_FILE
13328 #line 1908 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13329  tmpMeta[0] = _exp;
13330 #line 13330 OMC_FILE
13331  goto tmp2_done;
13332  }
13333  case 28: {
13334 
13335  /* Pattern matching succeeded */
13336 #line 1911 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13337  tmpMeta[0] = _exp;
13338 #line 13338 OMC_FILE
13339  goto tmp2_done;
13340  }
13341  }
13342  goto tmp2_end;
13343  tmp2_end: ;
13344  }
13345  goto goto_1;
13346  goto_1:;
13347  MMC_THROW_INTERNAL();
13348  goto tmp2_done;
13349  tmp2_done:;
13350  }
13351  }
13352  _outExp = tmpMeta[0];
13353 
13354 #line 1914 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13355  _outExp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _outExp) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _outExp);
13356 #line 13356 OMC_FILE
13357  _return: OMC_LABEL_UNUSED
13358  return _outExp;
13359 }
DLLExport modelica_metatype omc_NFExpression_mapCref(threadData_t *threadData, modelica_metatype _cref, modelica_fnptr _func)
struct record_description NFExpression_CAST__desc
struct record_description NFExpression_UNBOX__desc
void omc_Mutable_update(threadData_t *threadData, modelica_metatype _mutable, modelica_metatype _data)
Definition: Mutable.c:31
struct record_description NFExpression_TUPLE__ELEMENT__desc
struct record_description NFExpression_SUBSCRIPTED__EXP__desc
struct record_description NFExpression_RECORD__desc
struct record_description NFExpression_CALL__desc
signed char modelica_boolean
struct record_description NFExpression_TUPLE__desc
modelica_metatype omc_Mutable_access(threadData_t *threadData, modelica_metatype _mutable)
Definition: Mutable.c:13
float mmc_switch_type
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
struct record_description NFExpression_ARRAY__desc
DLLExport modelica_metatype omc_NFSubscript_mapExp(threadData_t *threadData, modelica_metatype _subscript, modelica_fnptr _func)
Definition: NFSubscript.c:1940
void * modelica_fnptr
struct record_description NFExpression_RANGE__desc
struct record_description NFExpression_CLKCONST__desc
struct record_description NFExpression_RELATION__desc
struct record_description NFExpression_IF__desc
DLLExport modelica_metatype omc_NFExpression_map(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
void * modelica_metatype
struct record_description NFExpression_ClockKind_BOOLEAN__CLOCK__desc
struct record_description NFExpression_UNARY__desc
struct record_description NFExpression_SIZE__desc
struct record_description NFExpression_LBINARY__desc
struct record_description NFExpression_MATRIX__desc
struct record_description NFExpression_ClockKind_REAL__CLOCK__desc
struct record_description NFExpression_ClockKind_INTEGER__CLOCK__desc
struct record_description NFExpression_ClockKind_SOLVER__CLOCK__desc
struct record_description NFExpression_BOX__desc
struct record_description NFExpression_RECORD__ELEMENT__desc
struct record_description NFExpression_BINARY__desc
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
DLLExport modelica_metatype omc_NFExpression_mapCall(threadData_t *threadData, modelica_metatype _call, modelica_fnptr _func)
struct record_description NFExpression_LUNARY__desc
struct record_description NFExpression_CREF__desc
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_mapArrayElements()

DLLExport modelica_metatype omc_NFExpression_mapArrayElements ( threadData_t threadData,
modelica_metatype  _exp,
modelica_fnptr  _func 
)

Definition at line 9394 of file NFExpression.c.

9395 {
9396  modelica_metatype _outExp = NULL;
9397  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
9398  MMC_SO();
9399  _tailrecursive: OMC_LABEL_UNUSED
9400 #line 9400 OMC_FILE
9401  { /* match expression */
9402  modelica_metatype tmp3_1;
9403  tmp3_1 = _exp;
9404  {
9405  volatile mmc_switch_type tmp3;
9406  int tmp4;
9407  tmp3 = 0;
9408  for (; tmp3 < 2; tmp3++) {
9409  switch (MMC_SWITCH_CAST(tmp3)) {
9410  case 0: {
9411  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,7,3) == 0) goto tmp2_end;
9412 
9413  /* Pattern matching succeeded */
9414 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9415  {
9416 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9417  modelica_metatype _$tmpVar17;
9418 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9419  modelica_metatype* tmp5;
9420 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9421  modelica_metatype _$tmpVar16;
9422 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9423  int tmp6;
9424 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9425  modelica_metatype e_loopVar = 0;
9426 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9427  modelica_metatype _e;
9428 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9429  e_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
9430 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9431  tmpMeta[3] = MMC_REFSTRUCTLIT(mmc_nil);
9432 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9433  _$tmpVar17 = tmpMeta[3]; /* defaultValue */
9434 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9435  tmp5 = &_$tmpVar17;
9436 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9437  while(1) {
9438 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9439  tmp6 = 1;
9440 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9441  if (!listEmpty(e_loopVar)) {
9442 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9443  _e = MMC_CAR(e_loopVar);
9444 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9445  e_loopVar = MMC_CDR(e_loopVar);
9446 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9447  tmp6--;
9448 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9449  }
9450 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9451  if (tmp6 == 0) {
9452 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9453  _$tmpVar16 = omc_NFExpression_mapArrayElements(threadData, _e, ((modelica_fnptr) _func));
9454 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9455  *tmp5 = mmc_mk_cons(_$tmpVar16,0);
9456 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9457  tmp5 = &MMC_CDR(*tmp5);
9458 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9459  } else if (tmp6 == 1) {
9460 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9461  break;
9462 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9463  } else {
9464 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9465  goto goto_1;
9466 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9467  }
9468 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9469  }
9470 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9471  *tmp5 = mmc_mk_nil();
9472 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9473  tmpMeta[2] = _$tmpVar17;
9474 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9475  }
9476 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9477  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(5));
9478 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9479  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_exp), 5*sizeof(modelica_metatype));
9480 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9481  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[3] = tmpMeta[2];
9482 #line 2396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9483  _exp = tmpMeta[1];
9484 #line 9484 OMC_FILE
9485 #line 2397 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9486  tmpMeta[0] = _exp;
9487 #line 9487 OMC_FILE
9488  goto tmp2_done;
9489  }
9490  case 1: {
9491 
9492  /* Pattern matching succeeded */
9493 #line 2400 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9494  tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _exp) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _exp);
9495 #line 9495 OMC_FILE
9496  goto tmp2_done;
9497  }
9498  }
9499  goto tmp2_end;
9500  tmp2_end: ;
9501  }
9502  goto goto_1;
9503  goto_1:;
9504  MMC_THROW_INTERNAL();
9505  goto tmp2_done;
9506  tmp2_done:;
9507  }
9508  }
9509  _outExp = tmpMeta[0];
9510  _return: OMC_LABEL_UNUSED
9511  return _outExp;
9512 }
float mmc_switch_type
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
DLLExport modelica_metatype omc_NFExpression_mapArrayElements(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
void * modelica_fnptr
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_mapCall()

DLLExport modelica_metatype omc_NFExpression_mapCall ( threadData_t threadData,
modelica_metatype  _call,
modelica_fnptr  _func 
)

Definition at line 11615 of file NFExpression.c.

11616 {
11617  modelica_metatype _outCall = NULL;
11618  modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
11619  MMC_SO();
11620  _tailrecursive: OMC_LABEL_UNUSED
11621 #line 11621 OMC_FILE
11622  { /* match expression */
11623  modelica_metatype tmp3_1;
11624  tmp3_1 = _call;
11625  {
11626  modelica_metatype _args = NULL;
11627  modelica_metatype _nargs = NULL;
11628  modelica_metatype _targs = NULL;
11629  modelica_metatype _tnargs = NULL;
11630  modelica_string _s = NULL;
11631  modelica_metatype _e = NULL;
11632  modelica_metatype _t = NULL;
11633  modelica_integer _v;
11634  modelica_metatype _iters = NULL;
11635  int tmp3;
11636  {
11637  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
11638  case 3: {
11639 
11640  /* Pattern matching succeeded */
11641 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11642  {
11643 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11644  modelica_metatype _$tmpVar41;
11645 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11646  modelica_metatype* tmp4;
11647 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11648  modelica_metatype _$tmpVar40;
11649 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11650  int tmp5;
11651 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11652  modelica_metatype arg_loopVar = 0;
11653 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11654  modelica_metatype _arg;
11655 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11656  arg_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3)));
11657 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11658  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
11659 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11660  _$tmpVar41 = tmpMeta[2]; /* defaultValue */
11661 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11662  tmp4 = &_$tmpVar41;
11663 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11664  while(1) {
11665 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11666  tmp5 = 1;
11667 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11668  if (!listEmpty(arg_loopVar)) {
11669 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11670  _arg = MMC_CAR(arg_loopVar);
11671 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11672  arg_loopVar = MMC_CDR(arg_loopVar);
11673 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11674  tmp5--;
11675 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11676  }
11677 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11678  if (tmp5 == 0) {
11679 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11680  _$tmpVar40 = omc_NFExpression_map(threadData, _arg, ((modelica_fnptr) _func));
11681 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11682  *tmp4 = mmc_mk_cons(_$tmpVar40,0);
11683 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11684  tmp4 = &MMC_CDR(*tmp4);
11685 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11686  } else if (tmp5 == 1) {
11687 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11688  break;
11689 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11690  } else {
11691 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11692  goto goto_1;
11693 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11694  }
11695 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11696  }
11697 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11698  *tmp4 = mmc_mk_nil();
11699 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11700  tmpMeta[1] = _$tmpVar41;
11701 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11702  }
11703 #line 1957 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11704  _args = tmpMeta[1];
11705 #line 11705 OMC_FILE
11706 
11707 #line 1958 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11708  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
11709 #line 1958 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11710  _nargs = tmpMeta[1];
11711 #line 11711 OMC_FILE
11712 
11713 #line 1960 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11714  {
11715 #line 1960 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11716  modelica_metatype _arg;
11717 #line 1960 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11718  for (tmpMeta[1] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))); !listEmpty(tmpMeta[1]); tmpMeta[1]=MMC_CDR(tmpMeta[1]))
11719 #line 1960 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11720  {
11721 #line 1960 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11722  _arg = MMC_CAR(tmpMeta[1]);
11723 #line 1961 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11724  /* Pattern-matching assignment */
11725 #line 1961 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11726  tmpMeta[2] = _arg;
11727 #line 1961 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11728  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
11729 #line 1961 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11730  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
11731 #line 1961 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11732  _s = tmpMeta[3];
11733 #line 1961 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11734  _e = tmpMeta[4];
11735 #line 11735 OMC_FILE
11736 
11737 #line 1962 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11738  _e = omc_NFExpression_map(threadData, _e, ((modelica_fnptr) _func));
11739 #line 11739 OMC_FILE
11740 
11741 #line 1963 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11742  tmpMeta[3] = mmc_mk_box2(0, _s, _e);
11743 #line 1963 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11744  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _nargs);
11745 #line 1963 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11746  _nargs = tmpMeta[2];
11747 #line 11747 OMC_FILE
11748  }
11749  }
11750 #line 1965 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11751  tmpMeta[1] = mmc_mk_box5(3, &NFCall_Call_UNTYPED__CALL__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), _args, listReverse(_nargs), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))));
11752 #line 1965 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11753  tmpMeta[0] = tmpMeta[1];
11754 #line 11754 OMC_FILE
11755  goto tmp2_done;
11756  }
11757  case 4: {
11758  modelica_integer tmp6;
11759  modelica_integer tmp7;
11760 
11761  /* Pattern matching succeeded */
11762 #line 1970 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11763  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
11764 #line 1970 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11765  _targs = tmpMeta[1];
11766 #line 11766 OMC_FILE
11767 
11768 #line 1971 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11769  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
11770 #line 1971 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11771  _tnargs = tmpMeta[1];
11772 #line 11772 OMC_FILE
11773 
11774 #line 1973 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11775  {
11776 #line 1973 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11777  modelica_metatype _arg;
11778 #line 1973 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11779  for (tmpMeta[1] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))); !listEmpty(tmpMeta[1]); tmpMeta[1]=MMC_CDR(tmpMeta[1]))
11780 #line 1973 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11781  {
11782 #line 1973 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11783  _arg = MMC_CAR(tmpMeta[1]);
11784 #line 1974 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11785  /* Pattern-matching assignment */
11786 #line 1974 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11787  tmpMeta[2] = _arg;
11788 #line 1974 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11789  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
11790 #line 1974 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11791  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
11792 #line 1974 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11793  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
11794 #line 1974 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11795  tmp6 = mmc_unbox_integer(tmpMeta[5]);
11796 #line 1974 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11797  _e = tmpMeta[3];
11798 #line 1974 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11799  _t = tmpMeta[4];
11800 #line 1974 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11801  _v = tmp6 /* pattern as ty=enumeration(CONSTANT, STRUCTURAL_PARAMETER, PARAMETER, DISCRETE, IMPLICITLY_DISCRETE, CONTINUOUS) */;
11802 #line 11802 OMC_FILE
11803 
11804 #line 1975 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11805  _e = omc_NFExpression_map(threadData, _e, ((modelica_fnptr) _func));
11806 #line 11806 OMC_FILE
11807 
11808 #line 1976 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11809  tmpMeta[3] = mmc_mk_box3(0, _e, _t, mmc_mk_integer((modelica_integer)_v));
11810 #line 1976 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11811  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _targs);
11812 #line 1976 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11813  _targs = tmpMeta[2];
11814 #line 11814 OMC_FILE
11815  }
11816  }
11817 
11818 #line 1979 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11819  {
11820 #line 1979 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11821  modelica_metatype _arg;
11822 #line 1979 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11823  for (tmpMeta[1] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))); !listEmpty(tmpMeta[1]); tmpMeta[1]=MMC_CDR(tmpMeta[1]))
11824 #line 1979 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11825  {
11826 #line 1979 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11827  _arg = MMC_CAR(tmpMeta[1]);
11828 #line 1980 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11829  /* Pattern-matching assignment */
11830 #line 1980 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11831  tmpMeta[2] = _arg;
11832 #line 1980 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11833  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
11834 #line 1980 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11835  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
11836 #line 1980 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11837  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
11838 #line 1980 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11839  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
11840 #line 1980 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11841  tmp7 = mmc_unbox_integer(tmpMeta[6]);
11842 #line 1980 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11843  _s = tmpMeta[3];
11844 #line 1980 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11845  _e = tmpMeta[4];
11846 #line 1980 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11847  _t = tmpMeta[5];
11848 #line 1980 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11849  _v = tmp7 /* pattern as ty=enumeration(CONSTANT, STRUCTURAL_PARAMETER, PARAMETER, DISCRETE, IMPLICITLY_DISCRETE, CONTINUOUS) */;
11850 #line 11850 OMC_FILE
11851 
11852 #line 1981 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11853  _e = omc_NFExpression_map(threadData, _e, ((modelica_fnptr) _func));
11854 #line 11854 OMC_FILE
11855 
11856 #line 1982 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11857  tmpMeta[3] = mmc_mk_box4(0, _s, _e, _t, mmc_mk_integer((modelica_integer)_v));
11858 #line 1982 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11859  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _tnargs);
11860 #line 1982 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11861  _tnargs = tmpMeta[2];
11862 #line 11862 OMC_FILE
11863  }
11864  }
11865 #line 1984 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11866  tmpMeta[1] = mmc_mk_box5(4, &NFCall_Call_ARG__TYPED__CALL__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), listReverse(_targs), listReverse(_tnargs), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))));
11867 #line 1984 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11868  tmpMeta[0] = tmpMeta[1];
11869 #line 11869 OMC_FILE
11870  goto tmp2_done;
11871  }
11872  case 5: {
11873 
11874  /* Pattern matching succeeded */
11875 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11876  {
11877 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11878  modelica_metatype _$tmpVar43;
11879 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11880  modelica_metatype* tmp8;
11881 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11882  modelica_metatype _$tmpVar42;
11883 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11884  int tmp9;
11885 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11886  modelica_metatype arg_loopVar = 0;
11887 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11888  modelica_metatype _arg;
11889 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11890  arg_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5)));
11891 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11892  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
11893 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11894  _$tmpVar43 = tmpMeta[2]; /* defaultValue */
11895 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11896  tmp8 = &_$tmpVar43;
11897 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11898  while(1) {
11899 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11900  tmp9 = 1;
11901 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11902  if (!listEmpty(arg_loopVar)) {
11903 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11904  _arg = MMC_CAR(arg_loopVar);
11905 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11906  arg_loopVar = MMC_CDR(arg_loopVar);
11907 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11908  tmp9--;
11909 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11910  }
11911 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11912  if (tmp9 == 0) {
11913 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11914  _$tmpVar42 = omc_NFExpression_map(threadData, _arg, ((modelica_fnptr) _func));
11915 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11916  *tmp8 = mmc_mk_cons(_$tmpVar42,0);
11917 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11918  tmp8 = &MMC_CDR(*tmp8);
11919 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11920  } else if (tmp9 == 1) {
11921 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11922  break;
11923 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11924  } else {
11925 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11926  goto goto_1;
11927 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11928  }
11929 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11930  }
11931 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11932  *tmp8 = mmc_mk_nil();
11933 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11934  tmpMeta[1] = _$tmpVar43;
11935 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11936  }
11937 #line 1989 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11938  _args = tmpMeta[1];
11939 #line 11939 OMC_FILE
11940 #line 1990 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11941  tmpMeta[1] = mmc_mk_box6(5, &NFCall_Call_TYPED__CALL__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))), _args, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 6))));
11942 #line 1990 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11943  tmpMeta[0] = tmpMeta[1];
11944 #line 11944 OMC_FILE
11945  goto tmp2_done;
11946  }
11947  case 6: {
11948 
11949  /* Pattern matching succeeded */
11950 #line 1995 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11951  _e = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), ((modelica_fnptr) _func));
11952 #line 11952 OMC_FILE
11953 
11954 #line 1996 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11955  _iters = omc_NFExpression_mapCallIterators(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), ((modelica_fnptr) _func));
11956 #line 11956 OMC_FILE
11957 #line 1997 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11958  tmpMeta[1] = mmc_mk_box3(6, &NFCall_Call_UNTYPED__ARRAY__CONSTRUCTOR__desc, _e, _iters);
11959 #line 1997 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11960  tmpMeta[0] = tmpMeta[1];
11961 #line 11961 OMC_FILE
11962  goto tmp2_done;
11963  }
11964  case 7: {
11965 
11966  /* Pattern matching succeeded */
11967 #line 2002 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11968  _e = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))), ((modelica_fnptr) _func));
11969 #line 11969 OMC_FILE
11970 
11971 #line 2003 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11972  _iters = omc_NFExpression_mapCallIterators(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))), ((modelica_fnptr) _func));
11973 #line 11973 OMC_FILE
11974 #line 2004 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11975  tmpMeta[1] = mmc_mk_box5(7, &NFCall_Call_TYPED__ARRAY__CONSTRUCTOR__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), _e, _iters);
11976 #line 2004 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11977  tmpMeta[0] = tmpMeta[1];
11978 #line 11978 OMC_FILE
11979  goto tmp2_done;
11980  }
11981  case 8: {
11982 
11983  /* Pattern matching succeeded */
11984 #line 2009 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11985  _e = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), ((modelica_fnptr) _func));
11986 #line 11986 OMC_FILE
11987 
11988 #line 2010 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11989  _iters = omc_NFExpression_mapCallIterators(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))), ((modelica_fnptr) _func));
11990 #line 11990 OMC_FILE
11991 #line 2011 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11992  tmpMeta[1] = mmc_mk_box4(8, &NFCall_Call_UNTYPED__REDUCTION__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), _e, _iters);
11993 #line 2011 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11994  tmpMeta[0] = tmpMeta[1];
11995 #line 11995 OMC_FILE
11996  goto tmp2_done;
11997  }
11998  case 9: {
11999 
12000  /* Pattern matching succeeded */
12001 #line 2016 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12002  _e = omc_NFExpression_map(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))), ((modelica_fnptr) _func));
12003 #line 12003 OMC_FILE
12004 
12005 #line 2017 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12006  _iters = omc_NFExpression_mapCallIterators(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 6))), ((modelica_fnptr) _func));
12007 #line 12007 OMC_FILE
12008 #line 2018 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12009  tmpMeta[1] = mmc_mk_box6(9, &NFCall_Call_TYPED__REDUCTION__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))), _e, _iters);
12010 #line 2018 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12011  tmpMeta[0] = tmpMeta[1];
12012 #line 12012 OMC_FILE
12013  goto tmp2_done;
12014  }
12015  }
12016  goto tmp2_end;
12017  tmp2_end: ;
12018  }
12019  goto goto_1;
12020  goto_1:;
12021  MMC_THROW_INTERNAL();
12022  goto tmp2_done;
12023  tmp2_done:;
12024  }
12025  }
12026  _outCall = tmpMeta[0];
12027  _return: OMC_LABEL_UNUSED
12028  return _outCall;
12029 }
modelica_metatype modelica_string
m_integer modelica_integer
struct record_description NFCall_Call_ARG__TYPED__CALL__desc
DLLExport modelica_metatype omc_NFExpression_mapCallIterators(threadData_t *threadData, modelica_metatype _iters, modelica_fnptr _func)
struct record_description NFCall_Call_TYPED__CALL__desc
void * modelica_fnptr
struct record_description NFCall_Call_UNTYPED__ARRAY__CONSTRUCTOR__desc
struct record_description NFCall_Call_UNTYPED__REDUCTION__desc
struct record_description NFCall_Call_TYPED__ARRAY__CONSTRUCTOR__desc
DLLExport modelica_metatype omc_NFExpression_map(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
void * modelica_metatype
modelica_metatype listReverse(modelica_metatype)
struct record_description NFCall_Call_TYPED__REDUCTION__desc
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
struct record_description NFCall_Call_UNTYPED__CALL__desc
Here is the call graph for this function:

◆ omc_NFExpression_mapCallIterators()

DLLExport modelica_metatype omc_NFExpression_mapCallIterators ( threadData_t threadData,
modelica_metatype  _iters,
modelica_fnptr  _func 
)

Definition at line 11539 of file NFExpression.c.

11540 {
11541  modelica_metatype _outIters = NULL;
11542  modelica_metatype _node = NULL;
11543  modelica_metatype _exp = NULL;
11544  modelica_metatype _new_exp = NULL;
11545  modelica_boolean tmp1;
11546  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
11547  MMC_SO();
11548  _tailrecursive: OMC_LABEL_UNUSED
11549  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
11550  _outIters = tmpMeta[0];
11551 #line 2036 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11552  {
11553 #line 2036 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11554  modelica_metatype _i;
11555 #line 2036 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11556  for (tmpMeta[1] = _iters; !listEmpty(tmpMeta[1]); tmpMeta[1]=MMC_CDR(tmpMeta[1]))
11557 #line 2036 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11558  {
11559 #line 2036 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11560  _i = MMC_CAR(tmpMeta[1]);
11561 #line 2037 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11562  /* Pattern-matching assignment */
11563 #line 2037 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11564  tmpMeta[2] = _i;
11565 #line 2037 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11566  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
11567 #line 2037 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11568  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
11569 #line 2037 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11570  _node = tmpMeta[3];
11571 #line 2037 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11572  _exp = tmpMeta[4];
11573 #line 11573 OMC_FILE
11574 
11575 #line 2038 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11576  _new_exp = omc_NFExpression_map(threadData, _exp, ((modelica_fnptr) _func));
11577 #line 11577 OMC_FILE
11578 
11579 #line 2039 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11580  tmp1 = (modelica_boolean)referenceEq(_new_exp, _exp);
11581 #line 2039 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11582  if(tmp1)
11583 #line 2039 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11584  {
11585 #line 2039 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11586  tmpMeta[4] = _i;
11587 #line 2039 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11588  }
11589 #line 2039 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11590  else
11591 #line 2039 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11592  {
11593 #line 2039 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11594  tmpMeta[3] = mmc_mk_box2(0, _node, _new_exp);
11595 #line 2039 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11596  tmpMeta[4] = tmpMeta[3];
11597 #line 2039 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11598  }
11599 #line 2039 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11600  tmpMeta[2] = mmc_mk_cons(tmpMeta[4], _outIters);
11601 #line 2039 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11602  _outIters = tmpMeta[2];
11603 #line 11603 OMC_FILE
11604  }
11605  }
11606 
11607 #line 2042 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11608  _outIters = listReverseInPlace(_outIters);
11609 #line 11609 OMC_FILE
11610  _return: OMC_LABEL_UNUSED
11611  return _outIters;
11612 }
signed char modelica_boolean
void * modelica_fnptr
DLLExport modelica_metatype omc_NFExpression_map(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
void * modelica_metatype
modelica_metatype listReverseInPlace(modelica_metatype)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:

◆ omc_NFExpression_mapCallShallow()

DLLExport modelica_metatype omc_NFExpression_mapCallShallow ( threadData_t threadData,
modelica_metatype  _call,
modelica_fnptr  _func 
)

Definition at line 9591 of file NFExpression.c.

9592 {
9593  modelica_metatype _outCall = NULL;
9594  modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
9595  MMC_SO();
9596  _tailrecursive: OMC_LABEL_UNUSED
9597 #line 9597 OMC_FILE
9598  { /* match expression */
9599  modelica_metatype tmp3_1;
9600  tmp3_1 = _call;
9601  {
9602  modelica_metatype _args = NULL;
9603  modelica_metatype _nargs = NULL;
9604  modelica_metatype _targs = NULL;
9605  modelica_metatype _tnargs = NULL;
9606  modelica_string _s = NULL;
9607  modelica_metatype _e = NULL;
9608  modelica_metatype _t = NULL;
9609  modelica_integer _v;
9610  int tmp3;
9611  {
9612  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
9613  case 3: {
9614 
9615  /* Pattern matching succeeded */
9616 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9617  {
9618 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9619  modelica_metatype _$tmpVar19;
9620 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9621  modelica_metatype* tmp4;
9622 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9623  modelica_metatype _$tmpVar18;
9624 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9625  int tmp5;
9626 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9627  modelica_metatype arg_loopVar = 0;
9628 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9629  modelica_metatype _arg;
9630 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9631  arg_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3)));
9632 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9633  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
9634 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9635  _$tmpVar19 = tmpMeta[2]; /* defaultValue */
9636 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9637  tmp4 = &_$tmpVar19;
9638 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9639  while(1) {
9640 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9641  tmp5 = 1;
9642 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9643  if (!listEmpty(arg_loopVar)) {
9644 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9645  _arg = MMC_CAR(arg_loopVar);
9646 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9647  arg_loopVar = MMC_CDR(arg_loopVar);
9648 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9649  tmp5--;
9650 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9651  }
9652 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9653  if (tmp5 == 0) {
9654 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9655  _$tmpVar18 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _arg);
9656 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9657  *tmp4 = mmc_mk_cons(_$tmpVar18,0);
9658 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9659  tmp4 = &MMC_CDR(*tmp4);
9660 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9661  } else if (tmp5 == 1) {
9662 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9663  break;
9664 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9665  } else {
9666 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9667  goto goto_1;
9668 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9669  }
9670 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9671  }
9672 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9673  *tmp4 = mmc_mk_nil();
9674 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9675  tmpMeta[1] = _$tmpVar19;
9676 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9677  }
9678 #line 2300 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9679  _args = tmpMeta[1];
9680 #line 9680 OMC_FILE
9681 
9682 #line 2301 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9683  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
9684 #line 2301 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9685  _nargs = tmpMeta[1];
9686 #line 9686 OMC_FILE
9687 
9688 #line 2303 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9689  {
9690 #line 2303 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9691  modelica_metatype _arg;
9692 #line 2303 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9693  for (tmpMeta[1] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))); !listEmpty(tmpMeta[1]); tmpMeta[1]=MMC_CDR(tmpMeta[1]))
9694 #line 2303 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9695  {
9696 #line 2303 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9697  _arg = MMC_CAR(tmpMeta[1]);
9698 #line 2304 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9699  /* Pattern-matching assignment */
9700 #line 2304 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9701  tmpMeta[2] = _arg;
9702 #line 2304 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9703  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
9704 #line 2304 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9705  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
9706 #line 2304 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9707  _s = tmpMeta[3];
9708 #line 2304 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9709  _e = tmpMeta[4];
9710 #line 9710 OMC_FILE
9711 
9712 #line 2305 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9713  _e = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e);
9714 #line 9714 OMC_FILE
9715 
9716 #line 2306 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9717  tmpMeta[3] = mmc_mk_box2(0, _s, _e);
9718 #line 2306 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9719  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _nargs);
9720 #line 2306 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9721  _nargs = tmpMeta[2];
9722 #line 9722 OMC_FILE
9723  }
9724  }
9725 #line 2308 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9726  tmpMeta[1] = mmc_mk_box5(3, &NFCall_Call_UNTYPED__CALL__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), _args, listReverse(_nargs), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))));
9727 #line 2308 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9728  tmpMeta[0] = tmpMeta[1];
9729 #line 9729 OMC_FILE
9730  goto tmp2_done;
9731  }
9732  case 4: {
9733  modelica_integer tmp6;
9734  modelica_integer tmp7;
9735 
9736  /* Pattern matching succeeded */
9737 #line 2313 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9738  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
9739 #line 2313 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9740  _targs = tmpMeta[1];
9741 #line 9741 OMC_FILE
9742 
9743 #line 2314 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9744  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
9745 #line 2314 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9746  _tnargs = tmpMeta[1];
9747 #line 9747 OMC_FILE
9748 
9749 #line 2316 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9750  {
9751 #line 2316 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9752  modelica_metatype _arg;
9753 #line 2316 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9754  for (tmpMeta[1] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))); !listEmpty(tmpMeta[1]); tmpMeta[1]=MMC_CDR(tmpMeta[1]))
9755 #line 2316 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9756  {
9757 #line 2316 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9758  _arg = MMC_CAR(tmpMeta[1]);
9759 #line 2317 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9760  /* Pattern-matching assignment */
9761 #line 2317 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9762  tmpMeta[2] = _arg;
9763 #line 2317 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9764  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
9765 #line 2317 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9766  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
9767 #line 2317 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9768  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
9769 #line 2317 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9770  tmp6 = mmc_unbox_integer(tmpMeta[5]);
9771 #line 2317 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9772  _e = tmpMeta[3];
9773 #line 2317 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9774  _t = tmpMeta[4];
9775 #line 2317 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9776  _v = tmp6 /* pattern as ty=enumeration(CONSTANT, STRUCTURAL_PARAMETER, PARAMETER, DISCRETE, IMPLICITLY_DISCRETE, CONTINUOUS) */;
9777 #line 9777 OMC_FILE
9778 
9779 #line 2318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9780  _e = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e);
9781 #line 9781 OMC_FILE
9782 
9783 #line 2319 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9784  tmpMeta[3] = mmc_mk_box3(0, _e, _t, mmc_mk_integer((modelica_integer)_v));
9785 #line 2319 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9786  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _targs);
9787 #line 2319 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9788  _targs = tmpMeta[2];
9789 #line 9789 OMC_FILE
9790  }
9791  }
9792 
9793 #line 2322 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9794  {
9795 #line 2322 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9796  modelica_metatype _arg;
9797 #line 2322 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9798  for (tmpMeta[1] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))); !listEmpty(tmpMeta[1]); tmpMeta[1]=MMC_CDR(tmpMeta[1]))
9799 #line 2322 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9800  {
9801 #line 2322 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9802  _arg = MMC_CAR(tmpMeta[1]);
9803 #line 2323 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9804  /* Pattern-matching assignment */
9805 #line 2323 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9806  tmpMeta[2] = _arg;
9807 #line 2323 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9808  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
9809 #line 2323 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9810  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
9811 #line 2323 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9812  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
9813 #line 2323 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9814  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
9815 #line 2323 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9816  tmp7 = mmc_unbox_integer(tmpMeta[6]);
9817 #line 2323 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9818  _s = tmpMeta[3];
9819 #line 2323 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9820  _e = tmpMeta[4];
9821 #line 2323 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9822  _t = tmpMeta[5];
9823 #line 2323 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9824  _v = tmp7 /* pattern as ty=enumeration(CONSTANT, STRUCTURAL_PARAMETER, PARAMETER, DISCRETE, IMPLICITLY_DISCRETE, CONTINUOUS) */;
9825 #line 9825 OMC_FILE
9826 
9827 #line 2324 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9828  _e = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e);
9829 #line 9829 OMC_FILE
9830 
9831 #line 2325 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9832  tmpMeta[3] = mmc_mk_box4(0, _s, _e, _t, mmc_mk_integer((modelica_integer)_v));
9833 #line 2325 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9834  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _tnargs);
9835 #line 2325 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9836  _tnargs = tmpMeta[2];
9837 #line 9837 OMC_FILE
9838  }
9839  }
9840 #line 2327 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9841  tmpMeta[1] = mmc_mk_box5(4, &NFCall_Call_ARG__TYPED__CALL__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), listReverse(_targs), listReverse(_tnargs), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))));
9842 #line 2327 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9843  tmpMeta[0] = tmpMeta[1];
9844 #line 9844 OMC_FILE
9845  goto tmp2_done;
9846  }
9847  case 5: {
9848 
9849  /* Pattern matching succeeded */
9850 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9851  {
9852 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9853  modelica_metatype _$tmpVar21;
9854 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9855  modelica_metatype* tmp8;
9856 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9857  modelica_metatype _$tmpVar20;
9858 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9859  int tmp9;
9860 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9861  modelica_metatype arg_loopVar = 0;
9862 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9863  modelica_metatype _arg;
9864 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9865  arg_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5)));
9866 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9867  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
9868 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9869  _$tmpVar21 = tmpMeta[2]; /* defaultValue */
9870 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9871  tmp8 = &_$tmpVar21;
9872 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9873  while(1) {
9874 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9875  tmp9 = 1;
9876 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9877  if (!listEmpty(arg_loopVar)) {
9878 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9879  _arg = MMC_CAR(arg_loopVar);
9880 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9881  arg_loopVar = MMC_CDR(arg_loopVar);
9882 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9883  tmp9--;
9884 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9885  }
9886 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9887  if (tmp9 == 0) {
9888 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9889  _$tmpVar20 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _arg);
9890 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9891  *tmp8 = mmc_mk_cons(_$tmpVar20,0);
9892 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9893  tmp8 = &MMC_CDR(*tmp8);
9894 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9895  } else if (tmp9 == 1) {
9896 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9897  break;
9898 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9899  } else {
9900 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9901  goto goto_1;
9902 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9903  }
9904 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9905  }
9906 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9907  *tmp8 = mmc_mk_nil();
9908 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9909  tmpMeta[1] = _$tmpVar21;
9910 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9911  }
9912 #line 2332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9913  _args = tmpMeta[1];
9914 #line 9914 OMC_FILE
9915 #line 2333 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9916  tmpMeta[1] = mmc_mk_box6(5, &NFCall_Call_TYPED__CALL__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))), _args, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 6))));
9917 #line 2333 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9918  tmpMeta[0] = tmpMeta[1];
9919 #line 9919 OMC_FILE
9920  goto tmp2_done;
9921  }
9922  case 6: {
9923 
9924  /* Pattern matching succeeded */
9925 #line 2338 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9926  _e = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))));
9927 #line 9927 OMC_FILE
9928 #line 2339 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9929  tmpMeta[1] = mmc_mk_box3(6, &NFCall_Call_UNTYPED__ARRAY__CONSTRUCTOR__desc, _e, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))));
9930 #line 2339 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9931  tmpMeta[0] = tmpMeta[1];
9932 #line 9932 OMC_FILE
9933  goto tmp2_done;
9934  }
9935  case 7: {
9936 
9937  /* Pattern matching succeeded */
9938 #line 2344 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9939  _e = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))));
9940 #line 9940 OMC_FILE
9941 #line 2345 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9942  tmpMeta[1] = mmc_mk_box5(7, &NFCall_Call_TYPED__ARRAY__CONSTRUCTOR__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), _e, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))));
9943 #line 2345 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9944  tmpMeta[0] = tmpMeta[1];
9945 #line 9945 OMC_FILE
9946  goto tmp2_done;
9947  }
9948  case 8: {
9949 
9950  /* Pattern matching succeeded */
9951 #line 2350 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9952  _e = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))));
9953 #line 9953 OMC_FILE
9954 #line 2351 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9955  tmpMeta[1] = mmc_mk_box4(8, &NFCall_Call_UNTYPED__REDUCTION__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), _e, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))));
9956 #line 2351 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9957  tmpMeta[0] = tmpMeta[1];
9958 #line 9958 OMC_FILE
9959  goto tmp2_done;
9960  }
9961  case 9: {
9962 
9963  /* Pattern matching succeeded */
9964 #line 2356 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9965  _e = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))));
9966 #line 9966 OMC_FILE
9967 #line 2357 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9968  tmpMeta[1] = mmc_mk_box6(9, &NFCall_Call_TYPED__REDUCTION__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))), _e, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 6))));
9969 #line 2357 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9970  tmpMeta[0] = tmpMeta[1];
9971 #line 9971 OMC_FILE
9972  goto tmp2_done;
9973  }
9974  }
9975  goto tmp2_end;
9976  tmp2_end: ;
9977  }
9978  goto goto_1;
9979  goto_1:;
9980  MMC_THROW_INTERNAL();
9981  goto tmp2_done;
9982  tmp2_done:;
9983  }
9984  }
9985  _outCall = tmpMeta[0];
9986  _return: OMC_LABEL_UNUSED
9987  return _outCall;
9988 }
modelica_metatype modelica_string
m_integer modelica_integer
struct record_description NFCall_Call_ARG__TYPED__CALL__desc
struct record_description NFCall_Call_TYPED__CALL__desc
struct record_description NFCall_Call_UNTYPED__ARRAY__CONSTRUCTOR__desc
struct record_description NFCall_Call_UNTYPED__REDUCTION__desc
struct record_description NFCall_Call_TYPED__ARRAY__CONSTRUCTOR__desc
void * modelica_metatype
modelica_metatype listReverse(modelica_metatype)
struct record_description NFCall_Call_TYPED__REDUCTION__desc
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
struct record_description NFCall_Call_UNTYPED__CALL__desc

◆ omc_NFExpression_mapCallShallowIterators()

DLLExport modelica_metatype omc_NFExpression_mapCallShallowIterators ( threadData_t threadData,
modelica_metatype  _iters,
modelica_fnptr  _func 
)

Definition at line 9515 of file NFExpression.c.

9516 {
9517  modelica_metatype _outIters = NULL;
9518  modelica_metatype _node = NULL;
9519  modelica_metatype _exp = NULL;
9520  modelica_metatype _new_exp = NULL;
9521  modelica_boolean tmp1;
9522  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
9523  MMC_SO();
9524  _tailrecursive: OMC_LABEL_UNUSED
9525  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
9526  _outIters = tmpMeta[0];
9527 #line 2374 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9528  {
9529 #line 2374 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9530  modelica_metatype _i;
9531 #line 2374 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9532  for (tmpMeta[1] = _iters; !listEmpty(tmpMeta[1]); tmpMeta[1]=MMC_CDR(tmpMeta[1]))
9533 #line 2374 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9534  {
9535 #line 2374 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9536  _i = MMC_CAR(tmpMeta[1]);
9537 #line 2375 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9538  /* Pattern-matching assignment */
9539 #line 2375 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9540  tmpMeta[2] = _i;
9541 #line 2375 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9542  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
9543 #line 2375 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9544  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
9545 #line 2375 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9546  _node = tmpMeta[3];
9547 #line 2375 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9548  _exp = tmpMeta[4];
9549 #line 9549 OMC_FILE
9550 
9551 #line 2376 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9552  _new_exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _exp) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _exp);
9553 #line 9553 OMC_FILE
9554 
9555 #line 2377 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9556  tmp1 = (modelica_boolean)referenceEq(_new_exp, _exp);
9557 #line 2377 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9558  if(tmp1)
9559 #line 2377 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9560  {
9561 #line 2377 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9562  tmpMeta[4] = _i;
9563 #line 2377 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9564  }
9565 #line 2377 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9566  else
9567 #line 2377 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9568  {
9569 #line 2377 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9570  tmpMeta[3] = mmc_mk_box2(0, _node, _new_exp);
9571 #line 2377 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9572  tmpMeta[4] = tmpMeta[3];
9573 #line 2377 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9574  }
9575 #line 2377 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9576  tmpMeta[2] = mmc_mk_cons(tmpMeta[4], _outIters);
9577 #line 2377 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9578  _outIters = tmpMeta[2];
9579 #line 9579 OMC_FILE
9580  }
9581  }
9582 
9583 #line 2380 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
9584  _outIters = listReverseInPlace(_outIters);
9585 #line 9585 OMC_FILE
9586  _return: OMC_LABEL_UNUSED
9587  return _outIters;
9588 }
signed char modelica_boolean
void * modelica_metatype
modelica_metatype listReverseInPlace(modelica_metatype)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117

◆ omc_NFExpression_mapCref()

DLLExport modelica_metatype omc_NFExpression_mapCref ( threadData_t threadData,
modelica_metatype  _cref,
modelica_fnptr  _func 
)

Definition at line 11412 of file NFExpression.c.

11413 {
11414  modelica_metatype _outCref = NULL;
11415  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
11416  MMC_SO();
11417  _tailrecursive: OMC_LABEL_UNUSED
11418 #line 11418 OMC_FILE
11419  { /* match expression */
11420  modelica_metatype tmp3_1;
11421  tmp3_1 = _cref;
11422  {
11423  modelica_metatype _subs = NULL;
11424  modelica_metatype _rest = NULL;
11425  volatile mmc_switch_type tmp3;
11426  int tmp4;
11427  tmp3 = 0;
11428  for (; tmp3 < 2; tmp3++) {
11429  switch (MMC_SWITCH_CAST(tmp3)) {
11430  case 0: {
11431  modelica_integer tmp5;
11432  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,5) == 0) goto tmp2_end;
11433  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
11434  tmp5 = mmc_unbox_integer(tmpMeta[1]);
11435  if (1 != tmp5) goto tmp2_end;
11436 
11437  /* Pattern matching succeeded */
11438 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11439  {
11440 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11441  modelica_metatype _$tmpVar39;
11442 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11443  modelica_metatype* tmp6;
11444 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11445  modelica_metatype _$tmpVar38;
11446 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11447  int tmp7;
11448 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11449  modelica_metatype s_loopVar = 0;
11450 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11451  modelica_metatype _s;
11452 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11453  s_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 3)));
11454 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11455  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
11456 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11457  _$tmpVar39 = tmpMeta[2]; /* defaultValue */
11458 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11459  tmp6 = &_$tmpVar39;
11460 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11461  while(1) {
11462 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11463  tmp7 = 1;
11464 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11465  if (!listEmpty(s_loopVar)) {
11466 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11467  _s = MMC_CAR(s_loopVar);
11468 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11469  s_loopVar = MMC_CDR(s_loopVar);
11470 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11471  tmp7--;
11472 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11473  }
11474 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11475  if (tmp7 == 0) {
11476 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11477  _$tmpVar38 = omc_NFSubscript_mapExp(threadData, _s, ((modelica_fnptr) _func));
11478 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11479  *tmp6 = mmc_mk_cons(_$tmpVar38,0);
11480 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11481  tmp6 = &MMC_CDR(*tmp6);
11482 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11483  } else if (tmp7 == 1) {
11484 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11485  break;
11486 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11487  } else {
11488 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11489  goto goto_1;
11490 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11491  }
11492 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11493  }
11494 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11495  *tmp6 = mmc_mk_nil();
11496 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11497  tmpMeta[1] = _$tmpVar39;
11498 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11499  }
11500 #line 2061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11501  _subs = tmpMeta[1];
11502 #line 11502 OMC_FILE
11503 
11504 #line 2062 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11505  _rest = omc_NFExpression_mapCref(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 6))), ((modelica_fnptr) _func));
11506 #line 11506 OMC_FILE
11507 #line 2063 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11508  tmpMeta[1] = mmc_mk_box6(3, &NFComponentRef_CREF__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 2))), _subs, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 4))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 5))), _rest);
11509 #line 2063 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11510  tmpMeta[0] = tmpMeta[1];
11511 #line 11511 OMC_FILE
11512  goto tmp2_done;
11513  }
11514  case 1: {
11515 
11516  /* Pattern matching succeeded */
11517 #line 2066 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11518  tmpMeta[0] = _cref;
11519 #line 11519 OMC_FILE
11520  goto tmp2_done;
11521  }
11522  }
11523  goto tmp2_end;
11524  tmp2_end: ;
11525  }
11526  goto goto_1;
11527  goto_1:;
11528  MMC_THROW_INTERNAL();
11529  goto tmp2_done;
11530  tmp2_done:;
11531  }
11532  }
11533  _outCref = tmpMeta[0];
11534  _return: OMC_LABEL_UNUSED
11535  return _outCref;
11536 }
DLLExport modelica_metatype omc_NFExpression_mapCref(threadData_t *threadData, modelica_metatype _cref, modelica_fnptr _func)
m_integer modelica_integer
float mmc_switch_type
DLLExport modelica_metatype omc_NFSubscript_mapExp(threadData_t *threadData, modelica_metatype _subscript, modelica_fnptr _func)
Definition: NFSubscript.c:1940
void * modelica_fnptr
struct record_description NFComponentRef_CREF__desc
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_NFExpression_mapCrefShallow()

DLLExport modelica_metatype omc_NFExpression_mapCrefShallow ( threadData_t threadData,
modelica_metatype  _cref,
modelica_fnptr  _func 
)

Definition at line 9991 of file NFExpression.c.

9992 {
9993  modelica_metatype _outCref = NULL;
9994  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
9995  MMC_SO();
9996  _tailrecursive: OMC_LABEL_UNUSED
9997 #line 9997 OMC_FILE
9998  { /* match expression */
9999  modelica_metatype tmp3_1;
10000  tmp3_1 = _cref;
10001  {
10002  modelica_metatype _subs = NULL;
10003  modelica_metatype _rest = NULL;
10004  volatile mmc_switch_type tmp3;
10005  int tmp4;
10006  tmp3 = 0;
10007  for (; tmp3 < 2; tmp3++) {
10008  switch (MMC_SWITCH_CAST(tmp3)) {
10009  case 0: {
10010  modelica_integer tmp5;
10011  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,5) == 0) goto tmp2_end;
10012  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
10013  tmp5 = mmc_unbox_integer(tmpMeta[1]);
10014  if (1 != tmp5) goto tmp2_end;
10015 
10016  /* Pattern matching succeeded */
10017 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10018  {
10019 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10020  modelica_metatype _$tmpVar23;
10021 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10022  modelica_metatype* tmp6;
10023 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10024  modelica_metatype _$tmpVar22;
10025 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10026  int tmp7;
10027 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10028  modelica_metatype s_loopVar = 0;
10029 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10030  modelica_metatype _s;
10031 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10032  s_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 3)));
10033 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10034  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
10035 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10036  _$tmpVar23 = tmpMeta[2]; /* defaultValue */
10037 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10038  tmp6 = &_$tmpVar23;
10039 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10040  while(1) {
10041 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10042  tmp7 = 1;
10043 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10044  if (!listEmpty(s_loopVar)) {
10045 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10046  _s = MMC_CAR(s_loopVar);
10047 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10048  s_loopVar = MMC_CDR(s_loopVar);
10049 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10050  tmp7--;
10051 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10052  }
10053 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10054  if (tmp7 == 0) {
10055 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10056  _$tmpVar22 = omc_NFSubscript_mapShallowExp(threadData, _s, ((modelica_fnptr) _func));
10057 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10058  *tmp6 = mmc_mk_cons(_$tmpVar22,0);
10059 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10060  tmp6 = &MMC_CDR(*tmp6);
10061 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10062  } else if (tmp7 == 1) {
10063 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10064  break;
10065 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10066  } else {
10067 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10068  goto goto_1;
10069 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10070  }
10071 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10072  }
10073 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10074  *tmp6 = mmc_mk_nil();
10075 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10076  tmpMeta[1] = _$tmpVar23;
10077 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10078  }
10079 #line 2269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10080  _subs = tmpMeta[1];
10081 #line 10081 OMC_FILE
10082 
10083 #line 2270 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10084  _rest = omc_NFExpression_mapCref(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 6))), ((modelica_fnptr) _func));
10085 #line 10085 OMC_FILE
10086 #line 2271 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10087  tmpMeta[1] = mmc_mk_box6(3, &NFComponentRef_CREF__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 2))), _subs, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 4))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 5))), _rest);
10088 #line 2271 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10089  tmpMeta[0] = tmpMeta[1];
10090 #line 10090 OMC_FILE
10091  goto tmp2_done;
10092  }
10093  case 1: {
10094 
10095  /* Pattern matching succeeded */
10096 #line 2274 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10097  tmpMeta[0] = _cref;
10098 #line 10098 OMC_FILE
10099  goto tmp2_done;
10100  }
10101  }
10102  goto tmp2_end;
10103  tmp2_end: ;
10104  }
10105  goto goto_1;
10106  goto_1:;
10107  MMC_THROW_INTERNAL();
10108  goto tmp2_done;
10109  tmp2_done:;
10110  }
10111  }
10112  _outCref = tmpMeta[0];
10113  _return: OMC_LABEL_UNUSED
10114  return _outCref;
10115 }
DLLExport modelica_metatype omc_NFExpression_mapCref(threadData_t *threadData, modelica_metatype _cref, modelica_fnptr _func)
m_integer modelica_integer
float mmc_switch_type
void * modelica_fnptr
struct record_description NFComponentRef_CREF__desc
DLLExport modelica_metatype omc_NFSubscript_mapShallowExp(threadData_t *threadData, modelica_metatype _subscript, modelica_fnptr _func)
Definition: NFSubscript.c:1796
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_NFExpression_mapFold()

DLLExport modelica_metatype omc_NFExpression_mapFold ( threadData_t threadData,
modelica_metatype  _exp,
modelica_fnptr  _func,
modelica_metatype $in_arg,
modelica_metatype out_arg 
)

Definition at line 6958 of file NFExpression.c.

6959 {
6960  modelica_metatype _outExp = NULL;
6961  modelica_metatype _arg = NULL;
6962  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
6963  MMC_SO();
6964  _tailrecursive: OMC_LABEL_UNUSED
6965  _arg = _$in_arg;
6966 #line 6966 OMC_FILE
6967  { /* match expression */
6968  modelica_metatype tmp3_1;
6969  tmp3_1 = _exp;
6970  {
6971  modelica_metatype _e1 = NULL;
6972  modelica_metatype _e2 = NULL;
6973  modelica_metatype _e3 = NULL;
6974  modelica_metatype _e4 = NULL;
6975  modelica_metatype _cr = NULL;
6976  modelica_metatype _expl = NULL;
6977  modelica_metatype _call = NULL;
6978  modelica_metatype _subs = NULL;
6979  volatile mmc_switch_type tmp3;
6980  int tmp4;
6981  tmp3 = 0;
6982  for (; tmp3 < 27; tmp3++) {
6983  switch (MMC_SWITCH_CAST(tmp3)) {
6984  case 0: {
6985  modelica_boolean tmp5;
6986  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,29,1) == 0) goto tmp2_end;
6987  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
6988  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,2) == 0) goto tmp2_end;
6989  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
6990  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
6991  _e1 = tmpMeta[2];
6992  _e2 = tmpMeta[3];
6993  /* Pattern matching succeeded */
6994 #line 2950 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6995  _e3 = omc_NFExpression_mapFold(threadData, _e1, ((modelica_fnptr) _func), _arg ,&_arg);
6996 #line 6996 OMC_FILE
6997 
6998 #line 2951 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6999  _e4 = omc_NFExpression_mapFold(threadData, _e2, ((modelica_fnptr) _func), _arg ,&_arg);
7000 #line 7000 OMC_FILE
7001 #line 2952 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7002  tmp5 = (modelica_boolean)(referenceEq(_e1, _e3) && referenceEq(_e2, _e4));
7003 #line 2952 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7004  if(tmp5)
7005 #line 2952 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7006  {
7007 #line 2952 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7008  tmpMeta[3] = _exp;
7009 #line 2952 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7010  }
7011 #line 2952 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7012  else
7013 #line 2952 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7014  {
7015 #line 2952 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7016  tmpMeta[1] = mmc_mk_box3(4, &NFExpression_ClockKind_INTEGER__CLOCK__desc, _e3, _e4);
7017 #line 2952 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7018  tmpMeta[2] = mmc_mk_box2(32, &NFExpression_CLKCONST__desc, tmpMeta[1]);
7019 #line 2952 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7020  tmpMeta[3] = tmpMeta[2];
7021 #line 2952 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7022  }
7023 #line 2952 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7024  tmpMeta[0] = tmpMeta[3];
7025 #line 7025 OMC_FILE
7026  goto tmp2_done;
7027  }
7028  case 1: {
7029  modelica_boolean tmp6;
7030  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,29,1) == 0) goto tmp2_end;
7031  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
7032  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,1) == 0) goto tmp2_end;
7033  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
7034  _e1 = tmpMeta[2];
7035  /* Pattern matching succeeded */
7036 #line 2959 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7037  _e2 = omc_NFExpression_mapFold(threadData, _e1, ((modelica_fnptr) _func), _arg ,&_arg);
7038 #line 7038 OMC_FILE
7039 #line 2960 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7040  tmp6 = (modelica_boolean)referenceEq(_e1, _e2);
7041 #line 2960 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7042  if(tmp6)
7043 #line 2960 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7044  {
7045 #line 2960 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7046  tmpMeta[3] = _exp;
7047 #line 2960 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7048  }
7049 #line 2960 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7050  else
7051 #line 2960 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7052  {
7053 #line 2960 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7054  tmpMeta[1] = mmc_mk_box2(5, &NFExpression_ClockKind_REAL__CLOCK__desc, _e2);
7055 #line 2960 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7056  tmpMeta[2] = mmc_mk_box2(32, &NFExpression_CLKCONST__desc, tmpMeta[1]);
7057 #line 2960 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7058  tmpMeta[3] = tmpMeta[2];
7059 #line 2960 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7060  }
7061 #line 2960 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7062  tmpMeta[0] = tmpMeta[3];
7063 #line 7063 OMC_FILE
7064  goto tmp2_done;
7065  }
7066  case 2: {
7067  modelica_boolean tmp7;
7068  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,29,1) == 0) goto tmp2_end;
7069  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
7070  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,2) == 0) goto tmp2_end;
7071  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
7072  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
7073  _e1 = tmpMeta[2];
7074  _e2 = tmpMeta[3];
7075  /* Pattern matching succeeded */
7076 #line 2967 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7077  _e3 = omc_NFExpression_mapFold(threadData, _e1, ((modelica_fnptr) _func), _arg ,&_arg);
7078 #line 7078 OMC_FILE
7079 
7080 #line 2968 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7081  _e4 = omc_NFExpression_mapFold(threadData, _e2, ((modelica_fnptr) _func), _arg ,&_arg);
7082 #line 7082 OMC_FILE
7083 #line 2969 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7084  tmp7 = (modelica_boolean)(referenceEq(_e1, _e3) && referenceEq(_e2, _e4));
7085 #line 2969 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7086  if(tmp7)
7087 #line 2969 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7088  {
7089 #line 2969 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7090  tmpMeta[3] = _exp;
7091 #line 2969 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7092  }
7093 #line 2969 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7094  else
7095 #line 2969 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7096  {
7097 #line 2969 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7098  tmpMeta[1] = mmc_mk_box3(6, &NFExpression_ClockKind_BOOLEAN__CLOCK__desc, _e3, _e4);
7099 #line 2969 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7100  tmpMeta[2] = mmc_mk_box2(32, &NFExpression_CLKCONST__desc, tmpMeta[1]);
7101 #line 2969 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7102  tmpMeta[3] = tmpMeta[2];
7103 #line 2969 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7104  }
7105 #line 2969 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7106  tmpMeta[0] = tmpMeta[3];
7107 #line 7107 OMC_FILE
7108  goto tmp2_done;
7109  }
7110  case 3: {
7111  modelica_boolean tmp8;
7112  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,29,1) == 0) goto tmp2_end;
7113  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
7114  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],4,2) == 0) goto tmp2_end;
7115  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
7116  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
7117  _e1 = tmpMeta[2];
7118  _e2 = tmpMeta[3];
7119  /* Pattern matching succeeded */
7120 #line 2976 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7121  _e3 = omc_NFExpression_mapFold(threadData, _e1, ((modelica_fnptr) _func), _arg ,&_arg);
7122 #line 7122 OMC_FILE
7123 
7124 #line 2977 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7125  _e4 = omc_NFExpression_mapFold(threadData, _e2, ((modelica_fnptr) _func), _arg ,&_arg);
7126 #line 7126 OMC_FILE
7127 #line 2978 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7128  tmp8 = (modelica_boolean)(referenceEq(_e1, _e3) && referenceEq(_e2, _e4));
7129 #line 2978 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7130  if(tmp8)
7131 #line 2978 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7132  {
7133 #line 2978 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7134  tmpMeta[3] = _exp;
7135 #line 2978 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7136  }
7137 #line 2978 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7138  else
7139 #line 2978 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7140  {
7141 #line 2978 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7142  tmpMeta[1] = mmc_mk_box3(7, &NFExpression_ClockKind_SOLVER__CLOCK__desc, _e3, _e4);
7143 #line 2978 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7144  tmpMeta[2] = mmc_mk_box2(32, &NFExpression_CLKCONST__desc, tmpMeta[1]);
7145 #line 2978 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7146  tmpMeta[3] = tmpMeta[2];
7147 #line 2978 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7148  }
7149 #line 2978 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7150  tmpMeta[0] = tmpMeta[3];
7151 #line 7151 OMC_FILE
7152  goto tmp2_done;
7153  }
7154  case 4: {
7155  modelica_boolean tmp9;
7156  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,5,2) == 0) goto tmp2_end;
7157 
7158  /* Pattern matching succeeded */
7159 #line 2985 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7160  _cr = omc_NFExpression_mapFoldCref(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func), _arg ,&_arg);
7161 #line 7161 OMC_FILE
7162 #line 2986 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7163  tmp9 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _cr);
7164 #line 2986 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7165  if(tmp9)
7166 #line 2986 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7167  {
7168 #line 2986 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7169  tmpMeta[2] = _exp;
7170 #line 2986 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7171  }
7172 #line 2986 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7173  else
7174 #line 2986 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7175  {
7176 #line 2986 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7177  tmpMeta[1] = mmc_mk_box3(8, &NFExpression_CREF__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _cr);
7178 #line 2986 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7179  tmpMeta[2] = tmpMeta[1];
7180 #line 2986 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7181  }
7182 #line 2986 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7183  tmpMeta[0] = tmpMeta[2];
7184 #line 7184 OMC_FILE
7185  goto tmp2_done;
7186  }
7187  case 5: {
7188  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,7,3) == 0) goto tmp2_end;
7189 
7190  /* Pattern matching succeeded */
7191 #line 2991 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7192  _expl = omc_List_map1Fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), boxvar_NFExpression_mapFold, ((modelica_fnptr) _func), _arg ,&_arg);
7193 #line 7193 OMC_FILE
7194 #line 2992 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7195  tmpMeta[1] = mmc_mk_box4(10, &NFExpression_ARRAY__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _expl, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
7196 #line 2992 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7197  tmpMeta[0] = tmpMeta[1];
7198 #line 7198 OMC_FILE
7199  goto tmp2_done;
7200  }
7201  case 6: {
7202  modelica_boolean tmp10;
7203  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,9,4) == 0) goto tmp2_end;
7204  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
7205  if (optionNone(tmpMeta[1])) goto tmp2_end;
7206  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
7207 
7208  _e2 = tmpMeta[2];
7209  /* Pattern matching succeeded */
7210 #line 2997 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7211  _e1 = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func), _arg ,&_arg);
7212 #line 7212 OMC_FILE
7213 
7214 #line 2998 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7215  _e4 = omc_NFExpression_mapFold(threadData, _e2, ((modelica_fnptr) _func), _arg ,&_arg);
7216 #line 7216 OMC_FILE
7217 
7218 #line 2999 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7219  _e3 = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))), ((modelica_fnptr) _func), _arg ,&_arg);
7220 #line 7220 OMC_FILE
7221 #line 3000 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7222  tmp10 = (modelica_boolean)((referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e1) && referenceEq(_e2, _e4)) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))), _e3));
7223 #line 3000 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7224  if(tmp10)
7225 #line 3000 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7226  {
7227 #line 3000 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7228  tmpMeta[2] = _exp;
7229 #line 3000 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7230  }
7231 #line 3000 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7232  else
7233 #line 3000 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7234  {
7235 #line 3000 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7236  tmpMeta[1] = mmc_mk_box5(12, &NFExpression_RANGE__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1, mmc_mk_some(_e4), _e3);
7237 #line 3000 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7238  tmpMeta[2] = tmpMeta[1];
7239 #line 3000 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7240  }
7241 #line 3000 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7242  tmpMeta[0] = tmpMeta[2];
7243 #line 7243 OMC_FILE
7244  goto tmp2_done;
7245  }
7246  case 7: {
7247  modelica_boolean tmp11;
7248  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,9,4) == 0) goto tmp2_end;
7249 
7250  /* Pattern matching succeeded */
7251 #line 3006 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7252  _e1 = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func), _arg ,&_arg);
7253 #line 7253 OMC_FILE
7254 
7255 #line 3007 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7256  _e3 = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))), ((modelica_fnptr) _func), _arg ,&_arg);
7257 #line 7257 OMC_FILE
7258 #line 3008 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7259  tmp11 = (modelica_boolean)(referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e1) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))), _e3));
7260 #line 3008 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7261  if(tmp11)
7262 #line 3008 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7263  {
7264 #line 3008 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7265  tmpMeta[2] = _exp;
7266 #line 3008 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7267  }
7268 #line 3008 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7269  else
7270 #line 3008 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7271  {
7272 #line 3008 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7273  tmpMeta[1] = mmc_mk_box5(12, &NFExpression_RANGE__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1, mmc_mk_none(), _e3);
7274 #line 3008 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7275  tmpMeta[2] = tmpMeta[1];
7276 #line 3008 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7277  }
7278 #line 3008 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7279  tmpMeta[0] = tmpMeta[2];
7280 #line 7280 OMC_FILE
7281  goto tmp2_done;
7282  }
7283  case 8: {
7284  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,10,2) == 0) goto tmp2_end;
7285 
7286  /* Pattern matching succeeded */
7287 #line 3014 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7288  _expl = omc_List_map1Fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), boxvar_NFExpression_mapFold, ((modelica_fnptr) _func), _arg ,&_arg);
7289 #line 7289 OMC_FILE
7290 #line 3015 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7291  tmpMeta[1] = mmc_mk_box3(13, &NFExpression_TUPLE__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _expl);
7292 #line 3015 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7293  tmpMeta[0] = tmpMeta[1];
7294 #line 7294 OMC_FILE
7295  goto tmp2_done;
7296  }
7297  case 9: {
7298  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,11,3) == 0) goto tmp2_end;
7299 
7300  /* Pattern matching succeeded */
7301 #line 3020 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7302  _expl = omc_List_map1Fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), boxvar_NFExpression_mapFold, ((modelica_fnptr) _func), _arg ,&_arg);
7303 #line 7303 OMC_FILE
7304 #line 3021 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7305  tmpMeta[1] = mmc_mk_box4(14, &NFExpression_RECORD__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _expl);
7306 #line 3021 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7307  tmpMeta[0] = tmpMeta[1];
7308 #line 7308 OMC_FILE
7309  goto tmp2_done;
7310  }
7311  case 10: {
7312  modelica_boolean tmp12;
7313  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,12,1) == 0) goto tmp2_end;
7314 
7315  /* Pattern matching succeeded */
7316 #line 3026 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7317  _call = omc_NFExpression_mapFoldCall(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg ,&_arg);
7318 #line 7318 OMC_FILE
7319 #line 3027 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7320  tmp12 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _call);
7321 #line 3027 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7322  if(tmp12)
7323 #line 3027 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7324  {
7325 #line 3027 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7326  tmpMeta[2] = _exp;
7327 #line 3027 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7328  }
7329 #line 3027 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7330  else
7331 #line 3027 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7332  {
7333 #line 3027 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7334  tmpMeta[1] = mmc_mk_box2(15, &NFExpression_CALL__desc, _call);
7335 #line 3027 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7336  tmpMeta[2] = tmpMeta[1];
7337 #line 3027 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7338  }
7339 #line 3027 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7340  tmpMeta[0] = tmpMeta[2];
7341 #line 7341 OMC_FILE
7342  goto tmp2_done;
7343  }
7344  case 11: {
7345  modelica_boolean tmp13;
7346  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,13,2) == 0) goto tmp2_end;
7347  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
7348  if (optionNone(tmpMeta[1])) goto tmp2_end;
7349  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
7350  _e2 = tmpMeta[2];
7351  /* Pattern matching succeeded */
7352 #line 3032 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7353  _e1 = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg ,&_arg);
7354 #line 7354 OMC_FILE
7355 
7356 #line 3033 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7357  _e3 = omc_NFExpression_mapFold(threadData, _e2, ((modelica_fnptr) _func), _arg ,&_arg);
7358 #line 7358 OMC_FILE
7359 #line 3034 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7360  tmp13 = (modelica_boolean)(referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1) && referenceEq(_e2, _e3));
7361 #line 3034 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7362  if(tmp13)
7363 #line 3034 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7364  {
7365 #line 3034 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7366  tmpMeta[2] = _exp;
7367 #line 3034 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7368  }
7369 #line 3034 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7370  else
7371 #line 3034 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7372  {
7373 #line 3034 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7374  tmpMeta[1] = mmc_mk_box3(16, &NFExpression_SIZE__desc, _e1, mmc_mk_some(_e3));
7375 #line 3034 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7376  tmpMeta[2] = tmpMeta[1];
7377 #line 3034 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7378  }
7379 #line 3034 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7380  tmpMeta[0] = tmpMeta[2];
7381 #line 7381 OMC_FILE
7382  goto tmp2_done;
7383  }
7384  case 12: {
7385  modelica_boolean tmp14;
7386  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,13,2) == 0) goto tmp2_end;
7387 
7388  /* Pattern matching succeeded */
7389 #line 3039 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7390  _e1 = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg ,&_arg);
7391 #line 7391 OMC_FILE
7392 #line 3040 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7393  tmp14 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
7394 #line 3040 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7395  if(tmp14)
7396 #line 3040 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7397  {
7398 #line 3040 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7399  tmpMeta[2] = _exp;
7400 #line 3040 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7401  }
7402 #line 3040 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7403  else
7404 #line 3040 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7405  {
7406 #line 3040 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7407  tmpMeta[1] = mmc_mk_box3(16, &NFExpression_SIZE__desc, _e1, mmc_mk_none());
7408 #line 3040 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7409  tmpMeta[2] = tmpMeta[1];
7410 #line 3040 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7411  }
7412 #line 3040 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7413  tmpMeta[0] = tmpMeta[2];
7414 #line 7414 OMC_FILE
7415  goto tmp2_done;
7416  }
7417  case 13: {
7418  modelica_boolean tmp15;
7419  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,15,3) == 0) goto tmp2_end;
7420 
7421  /* Pattern matching succeeded */
7422 #line 3045 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7423  _e1 = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg ,&_arg);
7424 #line 7424 OMC_FILE
7425 
7426 #line 3046 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7427  _e2 = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func), _arg ,&_arg);
7428 #line 7428 OMC_FILE
7429 #line 3047 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7430  tmp15 = (modelica_boolean)(referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _e2));
7431 #line 3047 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7432  if(tmp15)
7433 #line 3047 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7434  {
7435 #line 3047 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7436  tmpMeta[2] = _exp;
7437 #line 3047 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7438  }
7439 #line 3047 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7440  else
7441 #line 3047 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7442  {
7443 #line 3047 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7444  tmpMeta[1] = mmc_mk_box4(18, &NFExpression_BINARY__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e2);
7445 #line 3047 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7446  tmpMeta[2] = tmpMeta[1];
7447 #line 3047 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7448  }
7449 #line 3047 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7450  tmpMeta[0] = tmpMeta[2];
7451 #line 7451 OMC_FILE
7452  goto tmp2_done;
7453  }
7454  case 14: {
7455  modelica_boolean tmp16;
7456  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,16,2) == 0) goto tmp2_end;
7457 
7458  /* Pattern matching succeeded */
7459 #line 3053 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7460  _e1 = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func), _arg ,&_arg);
7461 #line 7461 OMC_FILE
7462 #line 3054 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7463  tmp16 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e1);
7464 #line 3054 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7465  if(tmp16)
7466 #line 3054 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7467  {
7468 #line 3054 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7469  tmpMeta[2] = _exp;
7470 #line 3054 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7471  }
7472 #line 3054 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7473  else
7474 #line 3054 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7475  {
7476 #line 3054 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7477  tmpMeta[1] = mmc_mk_box3(19, &NFExpression_UNARY__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
7478 #line 3054 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7479  tmpMeta[2] = tmpMeta[1];
7480 #line 3054 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7481  }
7482 #line 3054 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7483  tmpMeta[0] = tmpMeta[2];
7484 #line 7484 OMC_FILE
7485  goto tmp2_done;
7486  }
7487  case 15: {
7488  modelica_boolean tmp17;
7489  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,17,3) == 0) goto tmp2_end;
7490 
7491  /* Pattern matching succeeded */
7492 #line 3059 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7493  _e1 = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg ,&_arg);
7494 #line 7494 OMC_FILE
7495 
7496 #line 3060 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7497  _e2 = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func), _arg ,&_arg);
7498 #line 7498 OMC_FILE
7499 #line 3061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7500  tmp17 = (modelica_boolean)(referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _e2));
7501 #line 3061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7502  if(tmp17)
7503 #line 3061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7504  {
7505 #line 3061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7506  tmpMeta[2] = _exp;
7507 #line 3061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7508  }
7509 #line 3061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7510  else
7511 #line 3061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7512  {
7513 #line 3061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7514  tmpMeta[1] = mmc_mk_box4(20, &NFExpression_LBINARY__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e2);
7515 #line 3061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7516  tmpMeta[2] = tmpMeta[1];
7517 #line 3061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7518  }
7519 #line 3061 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7520  tmpMeta[0] = tmpMeta[2];
7521 #line 7521 OMC_FILE
7522  goto tmp2_done;
7523  }
7524  case 16: {
7525  modelica_boolean tmp18;
7526  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,18,2) == 0) goto tmp2_end;
7527 
7528  /* Pattern matching succeeded */
7529 #line 3067 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7530  _e1 = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func), _arg ,&_arg);
7531 #line 7531 OMC_FILE
7532 #line 3068 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7533  tmp18 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e1);
7534 #line 3068 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7535  if(tmp18)
7536 #line 3068 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7537  {
7538 #line 3068 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7539  tmpMeta[2] = _exp;
7540 #line 3068 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7541  }
7542 #line 3068 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7543  else
7544 #line 3068 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7545  {
7546 #line 3068 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7547  tmpMeta[1] = mmc_mk_box3(21, &NFExpression_LUNARY__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
7548 #line 3068 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7549  tmpMeta[2] = tmpMeta[1];
7550 #line 3068 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7551  }
7552 #line 3068 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7553  tmpMeta[0] = tmpMeta[2];
7554 #line 7554 OMC_FILE
7555  goto tmp2_done;
7556  }
7557  case 17: {
7558  modelica_boolean tmp19;
7559  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,19,3) == 0) goto tmp2_end;
7560 
7561  /* Pattern matching succeeded */
7562 #line 3073 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7563  _e1 = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg ,&_arg);
7564 #line 7564 OMC_FILE
7565 
7566 #line 3074 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7567  _e2 = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func), _arg ,&_arg);
7568 #line 7568 OMC_FILE
7569 #line 3075 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7570  tmp19 = (modelica_boolean)(referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _e2));
7571 #line 3075 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7572  if(tmp19)
7573 #line 3075 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7574  {
7575 #line 3075 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7576  tmpMeta[2] = _exp;
7577 #line 3075 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7578  }
7579 #line 3075 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7580  else
7581 #line 3075 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7582  {
7583 #line 3075 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7584  tmpMeta[1] = mmc_mk_box4(22, &NFExpression_RELATION__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e2);
7585 #line 3075 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7586  tmpMeta[2] = tmpMeta[1];
7587 #line 3075 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7588  }
7589 #line 3075 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7590  tmpMeta[0] = tmpMeta[2];
7591 #line 7591 OMC_FILE
7592  goto tmp2_done;
7593  }
7594  case 18: {
7595  modelica_boolean tmp20;
7596  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,20,3) == 0) goto tmp2_end;
7597 
7598  /* Pattern matching succeeded */
7599 #line 3081 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7600  _e1 = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg ,&_arg);
7601 #line 7601 OMC_FILE
7602 
7603 #line 3082 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7604  _e2 = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func), _arg ,&_arg);
7605 #line 7605 OMC_FILE
7606 
7607 #line 3083 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7608  _e3 = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func), _arg ,&_arg);
7609 #line 7609 OMC_FILE
7610 #line 3084 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7611  tmp20 = (modelica_boolean)((referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e2)) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _e3));
7612 #line 3084 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7613  if(tmp20)
7614 #line 3084 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7615  {
7616 #line 3084 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7617  tmpMeta[2] = _exp;
7618 #line 3084 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7619  }
7620 #line 3084 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7621  else
7622 #line 3084 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7623  {
7624 #line 3084 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7625  tmpMeta[1] = mmc_mk_box4(23, &NFExpression_IF__desc, _e1, _e2, _e3);
7626 #line 3084 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7627  tmpMeta[2] = tmpMeta[1];
7628 #line 3084 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7629  }
7630 #line 3084 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7631  tmpMeta[0] = tmpMeta[2];
7632 #line 7632 OMC_FILE
7633  goto tmp2_done;
7634  }
7635  case 19: {
7636  modelica_boolean tmp21;
7637  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,21,2) == 0) goto tmp2_end;
7638 
7639  /* Pattern matching succeeded */
7640 #line 3090 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7641  _e1 = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func), _arg ,&_arg);
7642 #line 7642 OMC_FILE
7643 #line 3091 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7644  tmp21 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e1);
7645 #line 3091 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7646  if(tmp21)
7647 #line 3091 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7648  {
7649 #line 3091 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7650  tmpMeta[2] = _exp;
7651 #line 3091 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7652  }
7653 #line 3091 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7654  else
7655 #line 3091 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7656  {
7657 #line 3091 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7658  tmpMeta[1] = mmc_mk_box3(24, &NFExpression_CAST__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
7659 #line 3091 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7660  tmpMeta[2] = tmpMeta[1];
7661 #line 3091 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7662  }
7663 #line 3091 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7664  tmpMeta[0] = tmpMeta[2];
7665 #line 7665 OMC_FILE
7666  goto tmp2_done;
7667  }
7668  case 20: {
7669  modelica_boolean tmp22;
7670  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,22,2) == 0) goto tmp2_end;
7671 
7672  /* Pattern matching succeeded */
7673 #line 3096 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7674  _e1 = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg ,&_arg);
7675 #line 7675 OMC_FILE
7676 #line 3097 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7677  tmp22 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
7678 #line 3097 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7679  if(tmp22)
7680 #line 3097 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7681  {
7682 #line 3097 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7683  tmpMeta[2] = _exp;
7684 #line 3097 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7685  }
7686 #line 3097 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7687  else
7688 #line 3097 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7689  {
7690 #line 3097 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7691  tmpMeta[1] = mmc_mk_box3(25, &NFExpression_UNBOX__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
7692 #line 3097 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7693  tmpMeta[2] = tmpMeta[1];
7694 #line 3097 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7695  }
7696 #line 3097 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7697  tmpMeta[0] = tmpMeta[2];
7698 #line 7698 OMC_FILE
7699  goto tmp2_done;
7700  }
7701  case 21: {
7702  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,23,3) == 0) goto tmp2_end;
7703 
7704  /* Pattern matching succeeded */
7705 #line 3102 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7706  _e1 = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg ,&_arg);
7707 #line 7707 OMC_FILE
7708 
7709 #line 3103 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7710  tmpMeta[1] = mmc_mk_box1(0, ((modelica_fnptr) _func));
7711 #line 3103 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7712  _subs = omc_List_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), (modelica_fnptr) mmc_mk_box2(0,closure1_NFSubscript_mapFoldExp,tmpMeta[1]), _arg ,&_arg);
7713 #line 7713 OMC_FILE
7714 #line 3104 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7715  tmpMeta[1] = mmc_mk_box4(26, &NFExpression_SUBSCRIPTED__EXP__desc, _e1, _subs, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
7716 #line 3104 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7717  tmpMeta[0] = tmpMeta[1];
7718 #line 7718 OMC_FILE
7719  goto tmp2_done;
7720  }
7721  case 22: {
7722  modelica_boolean tmp24;
7723  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,24,3) == 0) goto tmp2_end;
7724 
7725  /* Pattern matching succeeded */
7726 #line 3109 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7727  _e1 = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg ,&_arg);
7728 #line 7728 OMC_FILE
7729 #line 3110 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7730  tmp24 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
7731 #line 3110 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7732  if(tmp24)
7733 #line 3110 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7734  {
7735 #line 3110 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7736  tmpMeta[2] = _exp;
7737 #line 3110 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7738  }
7739 #line 3110 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7740  else
7741 #line 3110 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7742  {
7743 #line 3110 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7744  tmpMeta[1] = mmc_mk_box4(27, &NFExpression_TUPLE__ELEMENT__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
7745 #line 3110 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7746  tmpMeta[2] = tmpMeta[1];
7747 #line 3110 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7748  }
7749 #line 3110 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7750  tmpMeta[0] = tmpMeta[2];
7751 #line 7751 OMC_FILE
7752  goto tmp2_done;
7753  }
7754  case 23: {
7755  modelica_boolean tmp25;
7756  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,25,4) == 0) goto tmp2_end;
7757 
7758  /* Pattern matching succeeded */
7759 #line 3115 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7760  _e1 = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg ,&_arg);
7761 #line 7761 OMC_FILE
7762 #line 3116 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7763  tmp25 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
7764 #line 3116 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7765  if(tmp25)
7766 #line 3116 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7767  {
7768 #line 3116 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7769  tmpMeta[2] = _exp;
7770 #line 3116 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7771  }
7772 #line 3116 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7773  else
7774 #line 3116 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7775  {
7776 #line 3116 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7777  tmpMeta[1] = mmc_mk_box5(28, &NFExpression_RECORD__ELEMENT__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))));
7778 #line 3116 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7779  tmpMeta[2] = tmpMeta[1];
7780 #line 3116 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7781  }
7782 #line 3116 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7783  tmpMeta[0] = tmpMeta[2];
7784 #line 7784 OMC_FILE
7785  goto tmp2_done;
7786  }
7787  case 24: {
7788  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,27,1) == 0) goto tmp2_end;
7789 
7790  /* Pattern matching succeeded */
7791 #line 3121 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7792  _e1 = omc_NFExpression_mapFold(threadData, omc_Mutable_access(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))), ((modelica_fnptr) _func), _arg ,&_arg);
7793 #line 7793 OMC_FILE
7794 
7795 #line 3122 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7796  omc_Mutable_update(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
7797 #line 7797 OMC_FILE
7798 #line 3123 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7799  tmpMeta[0] = _exp;
7800 #line 7800 OMC_FILE
7801  goto tmp2_done;
7802  }
7803  case 25: {
7804  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,30,4) == 0) goto tmp2_end;
7805 
7806  /* Pattern matching succeeded */
7807 #line 3128 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7808  _expl = omc_List_map1Fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), boxvar_NFExpression_mapFold, ((modelica_fnptr) _func), _arg ,&_arg);
7809 #line 7809 OMC_FILE
7810 
7811 #line 3129 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7812  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(6));
7813 #line 3129 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7814  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_exp), 6*sizeof(modelica_metatype));
7815 #line 3129 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7816  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[3] = _expl;
7817 #line 3129 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7818  _exp = tmpMeta[1];
7819 #line 7819 OMC_FILE
7820 #line 3130 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7821  tmpMeta[0] = _exp;
7822 #line 7822 OMC_FILE
7823  goto tmp2_done;
7824  }
7825  case 26: {
7826 
7827  /* Pattern matching succeeded */
7828 #line 3133 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7829  tmpMeta[0] = _exp;
7830 #line 7830 OMC_FILE
7831  goto tmp2_done;
7832  }
7833  }
7834  goto tmp2_end;
7835  tmp2_end: ;
7836  }
7837  goto goto_1;
7838  goto_1:;
7839  MMC_THROW_INTERNAL();
7840  goto tmp2_done;
7841  tmp2_done:;
7842  }
7843  }
7844  _outExp = tmpMeta[0];
7845 
7846 #line 3136 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
7847  _outExp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _outExp, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _outExp, _arg ,&_arg);
7848 #line 7848 OMC_FILE
7849  _return: OMC_LABEL_UNUSED
7850  if (out_arg) { *out_arg = _arg; }
7851  return _outExp;
7852 }
struct record_description NFExpression_CAST__desc
struct record_description NFExpression_UNBOX__desc
void omc_Mutable_update(threadData_t *threadData, modelica_metatype _mutable, modelica_metatype _data)
Definition: Mutable.c:31
struct record_description NFExpression_TUPLE__ELEMENT__desc
struct record_description NFExpression_SUBSCRIPTED__EXP__desc
struct record_description NFExpression_RECORD__desc
struct record_description NFExpression_CALL__desc
signed char modelica_boolean
struct record_description NFExpression_TUPLE__desc
modelica_metatype omc_Mutable_access(threadData_t *threadData, modelica_metatype _mutable)
Definition: Mutable.c:13
float mmc_switch_type
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
DLLExport modelica_metatype omc_NFExpression_mapFold(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
struct record_description NFExpression_ARRAY__desc
void * modelica_fnptr
DLLExport modelica_metatype omc_NFExpression_mapFoldCall(threadData_t *threadData, modelica_metatype _call, modelica_fnptr _func, modelica_metatype _ $in_foldArg, modelica_metatype *out_foldArg)
struct record_description NFExpression_RANGE__desc
struct record_description NFExpression_CLKCONST__desc
DLLExport modelica_metatype omc_List_mapFold(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFunc, modelica_metatype _inArg, modelica_metatype *out_outArg)
Definition: List.c:9071
struct record_description NFExpression_RELATION__desc
struct record_description NFExpression_IF__desc
void * modelica_metatype
struct record_description NFExpression_ClockKind_BOOLEAN__CLOCK__desc
struct record_description NFExpression_UNARY__desc
DLLExport modelica_metatype omc_List_map1Fold(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFunc, modelica_metatype _inConstArg, modelica_metatype _inArg, modelica_metatype *out_outArg)
Definition: List.c:8831
struct record_description NFExpression_SIZE__desc
struct record_description NFExpression_LBINARY__desc
struct record_description NFExpression_ClockKind_REAL__CLOCK__desc
struct record_description NFExpression_ClockKind_INTEGER__CLOCK__desc
struct record_description NFExpression_ClockKind_SOLVER__CLOCK__desc
struct record_description NFExpression_RECORD__ELEMENT__desc
struct record_description NFExpression_BINARY__desc
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
struct record_description NFExpression_LUNARY__desc
DLLExport modelica_metatype omc_NFExpression_mapFoldCref(threadData_t *threadData, modelica_metatype _cref, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
struct record_description NFExpression_CREF__desc
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_mapFoldCall()

DLLExport modelica_metatype omc_NFExpression_mapFoldCall ( threadData_t threadData,
modelica_metatype  _call,
modelica_fnptr  _func,
modelica_metatype $in_foldArg,
modelica_metatype out_foldArg 
)

Definition at line 6635 of file NFExpression.c.

6636 {
6637  modelica_metatype _outCall = NULL;
6638  modelica_metatype _foldArg = NULL;
6639  modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
6640  MMC_SO();
6641  _tailrecursive: OMC_LABEL_UNUSED
6642  _foldArg = _$in_foldArg;
6643 #line 6643 OMC_FILE
6644  { /* match expression */
6645  modelica_metatype tmp3_1;
6646  tmp3_1 = _call;
6647  {
6648  modelica_metatype _args = NULL;
6649  modelica_metatype _nargs = NULL;
6650  modelica_metatype _targs = NULL;
6651  modelica_metatype _tnargs = NULL;
6652  modelica_string _s = NULL;
6653  modelica_metatype _e = NULL;
6654  modelica_metatype _t = NULL;
6655  modelica_integer _v;
6656  int tmp3;
6657  {
6658  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
6659  case 3: {
6660 
6661  /* Pattern matching succeeded */
6662 #line 3183 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6663  _args = omc_List_map1Fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), boxvar_NFExpression_mapFold, ((modelica_fnptr) _func), _foldArg ,&_foldArg);
6664 #line 6664 OMC_FILE
6665 
6666 #line 3184 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6667  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
6668 #line 3184 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6669  _nargs = tmpMeta[1];
6670 #line 6670 OMC_FILE
6671 
6672 #line 3186 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6673  {
6674 #line 3186 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6675  modelica_metatype _arg;
6676 #line 3186 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6677  for (tmpMeta[1] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))); !listEmpty(tmpMeta[1]); tmpMeta[1]=MMC_CDR(tmpMeta[1]))
6678 #line 3186 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6679  {
6680 #line 3186 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6681  _arg = MMC_CAR(tmpMeta[1]);
6682 #line 3187 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6683  /* Pattern-matching assignment */
6684 #line 3187 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6685  tmpMeta[2] = _arg;
6686 #line 3187 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6687  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
6688 #line 3187 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6689  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
6690 #line 3187 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6691  _s = tmpMeta[3];
6692 #line 3187 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6693  _e = tmpMeta[4];
6694 #line 6694 OMC_FILE
6695 
6696 #line 3188 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6697  _e = omc_NFExpression_mapFold(threadData, _e, ((modelica_fnptr) _func), _foldArg ,&_foldArg);
6698 #line 6698 OMC_FILE
6699 
6700 #line 3189 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6701  tmpMeta[3] = mmc_mk_box2(0, _s, _e);
6702 #line 3189 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6703  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _nargs);
6704 #line 3189 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6705  _nargs = tmpMeta[2];
6706 #line 6706 OMC_FILE
6707  }
6708  }
6709 #line 3191 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6710  tmpMeta[1] = mmc_mk_box5(3, &NFCall_Call_UNTYPED__CALL__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), _args, listReverse(_nargs), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))));
6711 #line 3191 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6712  tmpMeta[0] = tmpMeta[1];
6713 #line 6713 OMC_FILE
6714  goto tmp2_done;
6715  }
6716  case 4: {
6717  modelica_integer tmp4;
6718  modelica_integer tmp5;
6719 
6720  /* Pattern matching succeeded */
6721 #line 3196 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6722  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
6723 #line 3196 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6724  _targs = tmpMeta[1];
6725 #line 6725 OMC_FILE
6726 
6727 #line 3197 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6728  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
6729 #line 3197 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6730  _tnargs = tmpMeta[1];
6731 #line 6731 OMC_FILE
6732 
6733 #line 3199 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6734  {
6735 #line 3199 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6736  modelica_metatype _arg;
6737 #line 3199 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6738  for (tmpMeta[1] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))); !listEmpty(tmpMeta[1]); tmpMeta[1]=MMC_CDR(tmpMeta[1]))
6739 #line 3199 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6740  {
6741 #line 3199 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6742  _arg = MMC_CAR(tmpMeta[1]);
6743 #line 3200 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6744  /* Pattern-matching assignment */
6745 #line 3200 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6746  tmpMeta[2] = _arg;
6747 #line 3200 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6748  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
6749 #line 3200 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6750  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
6751 #line 3200 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6752  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
6753 #line 3200 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6754  tmp4 = mmc_unbox_integer(tmpMeta[5]);
6755 #line 3200 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6756  _e = tmpMeta[3];
6757 #line 3200 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6758  _t = tmpMeta[4];
6759 #line 3200 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6760  _v = tmp4 /* pattern as ty=enumeration(CONSTANT, STRUCTURAL_PARAMETER, PARAMETER, DISCRETE, IMPLICITLY_DISCRETE, CONTINUOUS) */;
6761 #line 6761 OMC_FILE
6762 
6763 #line 3201 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6764  _e = omc_NFExpression_mapFold(threadData, _e, ((modelica_fnptr) _func), _foldArg ,&_foldArg);
6765 #line 6765 OMC_FILE
6766 
6767 #line 3202 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6768  tmpMeta[3] = mmc_mk_box3(0, _e, _t, mmc_mk_integer((modelica_integer)_v));
6769 #line 3202 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6770  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _targs);
6771 #line 3202 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6772  _targs = tmpMeta[2];
6773 #line 6773 OMC_FILE
6774  }
6775  }
6776 
6777 #line 3205 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6778  {
6779 #line 3205 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6780  modelica_metatype _arg;
6781 #line 3205 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6782  for (tmpMeta[1] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))); !listEmpty(tmpMeta[1]); tmpMeta[1]=MMC_CDR(tmpMeta[1]))
6783 #line 3205 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6784  {
6785 #line 3205 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6786  _arg = MMC_CAR(tmpMeta[1]);
6787 #line 3206 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6788  /* Pattern-matching assignment */
6789 #line 3206 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6790  tmpMeta[2] = _arg;
6791 #line 3206 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6792  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
6793 #line 3206 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6794  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
6795 #line 3206 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6796  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
6797 #line 3206 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6798  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
6799 #line 3206 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6800  tmp5 = mmc_unbox_integer(tmpMeta[6]);
6801 #line 3206 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6802  _s = tmpMeta[3];
6803 #line 3206 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6804  _e = tmpMeta[4];
6805 #line 3206 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6806  _t = tmpMeta[5];
6807 #line 3206 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6808  _v = tmp5 /* pattern as ty=enumeration(CONSTANT, STRUCTURAL_PARAMETER, PARAMETER, DISCRETE, IMPLICITLY_DISCRETE, CONTINUOUS) */;
6809 #line 6809 OMC_FILE
6810 
6811 #line 3207 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6812  _e = omc_NFExpression_mapFold(threadData, _e, ((modelica_fnptr) _func), _foldArg ,&_foldArg);
6813 #line 6813 OMC_FILE
6814 
6815 #line 3208 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6816  tmpMeta[3] = mmc_mk_box4(0, _s, _e, _t, mmc_mk_integer((modelica_integer)_v));
6817 #line 3208 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6818  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _tnargs);
6819 #line 3208 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6820  _tnargs = tmpMeta[2];
6821 #line 6821 OMC_FILE
6822  }
6823  }
6824 #line 3210 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6825  tmpMeta[1] = mmc_mk_box5(4, &NFCall_Call_ARG__TYPED__CALL__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), listReverse(_targs), listReverse(_tnargs), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))));
6826 #line 3210 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6827  tmpMeta[0] = tmpMeta[1];
6828 #line 6828 OMC_FILE
6829  goto tmp2_done;
6830  }
6831  case 5: {
6832 
6833  /* Pattern matching succeeded */
6834 #line 3215 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6835  _args = omc_List_map1Fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))), boxvar_NFExpression_mapFold, ((modelica_fnptr) _func), _foldArg ,&_foldArg);
6836 #line 6836 OMC_FILE
6837 #line 3216 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6838  tmpMeta[1] = mmc_mk_box6(5, &NFCall_Call_TYPED__CALL__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))), _args, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 6))));
6839 #line 3216 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6840  tmpMeta[0] = tmpMeta[1];
6841 #line 6841 OMC_FILE
6842  goto tmp2_done;
6843  }
6844  case 6: {
6845 
6846  /* Pattern matching succeeded */
6847 #line 3221 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6848  _e = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), ((modelica_fnptr) _func), _foldArg ,&_foldArg);
6849 #line 6849 OMC_FILE
6850 #line 3222 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6851  tmpMeta[1] = mmc_mk_box3(6, &NFCall_Call_UNTYPED__ARRAY__CONSTRUCTOR__desc, _e, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))));
6852 #line 3222 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6853  tmpMeta[0] = tmpMeta[1];
6854 #line 6854 OMC_FILE
6855  goto tmp2_done;
6856  }
6857  case 7: {
6858 
6859  /* Pattern matching succeeded */
6860 #line 3227 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6861  _e = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))), ((modelica_fnptr) _func), _foldArg ,&_foldArg);
6862 #line 6862 OMC_FILE
6863 #line 3228 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6864  tmpMeta[1] = mmc_mk_box5(7, &NFCall_Call_TYPED__ARRAY__CONSTRUCTOR__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), _e, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))));
6865 #line 3228 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6866  tmpMeta[0] = tmpMeta[1];
6867 #line 6867 OMC_FILE
6868  goto tmp2_done;
6869  }
6870  case 8: {
6871 
6872  /* Pattern matching succeeded */
6873 #line 3233 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6874  _e = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), ((modelica_fnptr) _func), _foldArg ,&_foldArg);
6875 #line 6875 OMC_FILE
6876 #line 3234 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6877  tmpMeta[1] = mmc_mk_box4(8, &NFCall_Call_UNTYPED__REDUCTION__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), _e, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))));
6878 #line 3234 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6879  tmpMeta[0] = tmpMeta[1];
6880 #line 6880 OMC_FILE
6881  goto tmp2_done;
6882  }
6883  case 9: {
6884 
6885  /* Pattern matching succeeded */
6886 #line 3239 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6887  _e = omc_NFExpression_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))), ((modelica_fnptr) _func), _foldArg ,&_foldArg);
6888 #line 6888 OMC_FILE
6889 #line 3240 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6890  tmpMeta[1] = mmc_mk_box6(9, &NFCall_Call_TYPED__REDUCTION__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))), _e, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 6))));
6891 #line 3240 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6892  tmpMeta[0] = tmpMeta[1];
6893 #line 6893 OMC_FILE
6894  goto tmp2_done;
6895  }
6896  }
6897  goto tmp2_end;
6898  tmp2_end: ;
6899  }
6900  goto goto_1;
6901  goto_1:;
6902  MMC_THROW_INTERNAL();
6903  goto tmp2_done;
6904  tmp2_done:;
6905  }
6906  }
6907  _outCall = tmpMeta[0];
6908  _return: OMC_LABEL_UNUSED
6909  if (out_foldArg) { *out_foldArg = _foldArg; }
6910  return _outCall;
6911 }
modelica_metatype modelica_string
m_integer modelica_integer
struct record_description NFCall_Call_ARG__TYPED__CALL__desc
DLLExport modelica_metatype omc_NFExpression_mapFold(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
struct record_description NFCall_Call_TYPED__CALL__desc
void * modelica_fnptr
struct record_description NFCall_Call_UNTYPED__ARRAY__CONSTRUCTOR__desc
struct record_description NFCall_Call_UNTYPED__REDUCTION__desc
struct record_description NFCall_Call_TYPED__ARRAY__CONSTRUCTOR__desc
void * modelica_metatype
modelica_metatype listReverse(modelica_metatype)
DLLExport modelica_metatype omc_List_map1Fold(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFunc, modelica_metatype _inConstArg, modelica_metatype _inArg, modelica_metatype *out_outArg)
Definition: List.c:8831
struct record_description NFCall_Call_TYPED__REDUCTION__desc
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
struct record_description NFCall_Call_UNTYPED__CALL__desc
Here is the call graph for this function:

◆ omc_NFExpression_mapFoldCallIterators()

DLLExport modelica_metatype omc_NFExpression_mapFoldCallIterators ( threadData_t threadData,
modelica_metatype  _iters,
modelica_fnptr  _func,
modelica_metatype $in_arg,
modelica_metatype out_arg 
)

Definition at line 6556 of file NFExpression.c.

6557 {
6558  modelica_metatype _outIters = NULL;
6559  modelica_metatype _arg = NULL;
6560  modelica_metatype _node = NULL;
6561  modelica_metatype _exp = NULL;
6562  modelica_metatype _new_exp = NULL;
6563  modelica_boolean tmp1;
6564  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
6565  MMC_SO();
6566  _tailrecursive: OMC_LABEL_UNUSED
6567  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
6568  _outIters = tmpMeta[0];
6569  _arg = _$in_arg;
6570 #line 3259 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6571  {
6572 #line 3259 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6573  modelica_metatype _i;
6574 #line 3259 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6575  for (tmpMeta[1] = _iters; !listEmpty(tmpMeta[1]); tmpMeta[1]=MMC_CDR(tmpMeta[1]))
6576 #line 3259 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6577  {
6578 #line 3259 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6579  _i = MMC_CAR(tmpMeta[1]);
6580 #line 3260 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6581  /* Pattern-matching assignment */
6582 #line 3260 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6583  tmpMeta[2] = _i;
6584 #line 3260 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6585  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
6586 #line 3260 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6587  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
6588 #line 3260 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6589  _node = tmpMeta[3];
6590 #line 3260 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6591  _exp = tmpMeta[4];
6592 #line 6592 OMC_FILE
6593 
6594 #line 3261 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6595  _new_exp = omc_NFExpression_mapFold(threadData, _exp, ((modelica_fnptr) _func), _arg ,&_arg);
6596 #line 6596 OMC_FILE
6597 
6598 #line 3262 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6599  tmp1 = (modelica_boolean)referenceEq(_new_exp, _exp);
6600 #line 3262 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6601  if(tmp1)
6602 #line 3262 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6603  {
6604 #line 3262 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6605  tmpMeta[4] = _i;
6606 #line 3262 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6607  }
6608 #line 3262 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6609  else
6610 #line 3262 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6611  {
6612 #line 3262 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6613  tmpMeta[3] = mmc_mk_box2(0, _node, _new_exp);
6614 #line 3262 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6615  tmpMeta[4] = tmpMeta[3];
6616 #line 3262 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6617  }
6618 #line 3262 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6619  tmpMeta[2] = mmc_mk_cons(tmpMeta[4], _outIters);
6620 #line 3262 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6621  _outIters = tmpMeta[2];
6622 #line 6622 OMC_FILE
6623  }
6624  }
6625 
6626 #line 3265 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6627  _outIters = listReverseInPlace(_outIters);
6628 #line 6628 OMC_FILE
6629  _return: OMC_LABEL_UNUSED
6630  if (out_arg) { *out_arg = _arg; }
6631  return _outIters;
6632 }
signed char modelica_boolean
DLLExport modelica_metatype omc_NFExpression_mapFold(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
void * modelica_fnptr
void * modelica_metatype
modelica_metatype listReverseInPlace(modelica_metatype)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:

◆ omc_NFExpression_mapFoldCallIteratorsShallow()

DLLExport modelica_metatype omc_NFExpression_mapFoldCallIteratorsShallow ( threadData_t threadData,
modelica_metatype  _iters,
modelica_fnptr  _func,
modelica_metatype $in_arg,
modelica_metatype out_arg 
)

Definition at line 5188 of file NFExpression.c.

5189 {
5190  modelica_metatype _outIters = NULL;
5191  modelica_metatype _arg = NULL;
5192  modelica_metatype _node = NULL;
5193  modelica_metatype _exp = NULL;
5194  modelica_metatype _new_exp = NULL;
5195  modelica_boolean tmp1;
5196  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
5197  MMC_SO();
5198  _tailrecursive: OMC_LABEL_UNUSED
5199  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
5200  _outIters = tmpMeta[0];
5201  _arg = _$in_arg;
5202 #line 3645 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5203  {
5204 #line 3645 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5205  modelica_metatype _i;
5206 #line 3645 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5207  for (tmpMeta[1] = _iters; !listEmpty(tmpMeta[1]); tmpMeta[1]=MMC_CDR(tmpMeta[1]))
5208 #line 3645 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5209  {
5210 #line 3645 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5211  _i = MMC_CAR(tmpMeta[1]);
5212 #line 3646 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5213  /* Pattern-matching assignment */
5214 #line 3646 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5215  tmpMeta[2] = _i;
5216 #line 3646 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5217  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
5218 #line 3646 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5219  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
5220 #line 3646 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5221  _node = tmpMeta[3];
5222 #line 3646 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5223  _exp = tmpMeta[4];
5224 #line 5224 OMC_FILE
5225 
5226 #line 3647 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5227  _new_exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _exp, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _exp, _arg ,&_arg);
5228 #line 5228 OMC_FILE
5229 
5230 #line 3648 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5231  tmp1 = (modelica_boolean)referenceEq(_new_exp, _exp);
5232 #line 3648 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5233  if(tmp1)
5234 #line 3648 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5235  {
5236 #line 3648 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5237  tmpMeta[4] = _i;
5238 #line 3648 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5239  }
5240 #line 3648 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5241  else
5242 #line 3648 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5243  {
5244 #line 3648 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5245  tmpMeta[3] = mmc_mk_box2(0, _node, _new_exp);
5246 #line 3648 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5247  tmpMeta[4] = tmpMeta[3];
5248 #line 3648 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5249  }
5250 #line 3648 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5251  tmpMeta[2] = mmc_mk_cons(tmpMeta[4], _outIters);
5252 #line 3648 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5253  _outIters = tmpMeta[2];
5254 #line 5254 OMC_FILE
5255  }
5256  }
5257 
5258 #line 3651 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5259  _outIters = listReverseInPlace(_outIters);
5260 #line 5260 OMC_FILE
5261  _return: OMC_LABEL_UNUSED
5262  if (out_arg) { *out_arg = _arg; }
5263  return _outIters;
5264 }
signed char modelica_boolean
void * modelica_metatype
modelica_metatype listReverseInPlace(modelica_metatype)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117

◆ omc_NFExpression_mapFoldCallShallow()

DLLExport modelica_metatype omc_NFExpression_mapFoldCallShallow ( threadData_t threadData,
modelica_metatype  _call,
modelica_fnptr  _func,
modelica_metatype $in_foldArg,
modelica_metatype out_foldArg 
)

Definition at line 5267 of file NFExpression.c.

5268 {
5269  modelica_metatype _outCall = NULL;
5270  modelica_metatype _foldArg = NULL;
5271  modelica_metatype tmpMeta[7] __attribute__((unused)) = {0};
5272  MMC_SO();
5273  _tailrecursive: OMC_LABEL_UNUSED
5274  _foldArg = _$in_foldArg;
5275 #line 5275 OMC_FILE
5276  { /* match expression */
5277  modelica_metatype tmp3_1;
5278  tmp3_1 = _call;
5279  {
5280  modelica_metatype _args = NULL;
5281  modelica_metatype _nargs = NULL;
5282  modelica_metatype _targs = NULL;
5283  modelica_metatype _tnargs = NULL;
5284  modelica_string _s = NULL;
5285  modelica_metatype _e = NULL;
5286  modelica_metatype _t = NULL;
5287  modelica_integer _v;
5288  modelica_metatype _iters = NULL;
5289  int tmp3;
5290  {
5291  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
5292  case 3: {
5293 
5294  /* Pattern matching succeeded */
5295 #line 3564 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5296  _args = omc_List_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), ((modelica_fnptr) _func), _foldArg ,&_foldArg);
5297 #line 5297 OMC_FILE
5298 
5299 #line 3565 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5300  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
5301 #line 3565 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5302  _nargs = tmpMeta[1];
5303 #line 5303 OMC_FILE
5304 
5305 #line 3567 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5306  {
5307 #line 3567 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5308  modelica_metatype _arg;
5309 #line 3567 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5310  for (tmpMeta[1] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))); !listEmpty(tmpMeta[1]); tmpMeta[1]=MMC_CDR(tmpMeta[1]))
5311 #line 3567 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5312  {
5313 #line 3567 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5314  _arg = MMC_CAR(tmpMeta[1]);
5315 #line 3568 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5316  /* Pattern-matching assignment */
5317 #line 3568 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5318  tmpMeta[2] = _arg;
5319 #line 3568 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5320  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
5321 #line 3568 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5322  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
5323 #line 3568 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5324  _s = tmpMeta[3];
5325 #line 3568 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5326  _e = tmpMeta[4];
5327 #line 5327 OMC_FILE
5328 
5329 #line 3569 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5330  _e = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _foldArg ,&_foldArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _foldArg ,&_foldArg);
5331 #line 5331 OMC_FILE
5332 
5333 #line 3570 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5334  tmpMeta[3] = mmc_mk_box2(0, _s, _e);
5335 #line 3570 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5336  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _nargs);
5337 #line 3570 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5338  _nargs = tmpMeta[2];
5339 #line 5339 OMC_FILE
5340  }
5341  }
5342 #line 3572 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5343  tmpMeta[1] = mmc_mk_box5(3, &NFCall_Call_UNTYPED__CALL__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), _args, listReverse(_nargs), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))));
5344 #line 3572 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5345  tmpMeta[0] = tmpMeta[1];
5346 #line 5346 OMC_FILE
5347  goto tmp2_done;
5348  }
5349  case 4: {
5350  modelica_integer tmp4;
5351  modelica_integer tmp5;
5352 
5353  /* Pattern matching succeeded */
5354 #line 3577 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5355  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
5356 #line 3577 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5357  _targs = tmpMeta[1];
5358 #line 5358 OMC_FILE
5359 
5360 #line 3578 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5361  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
5362 #line 3578 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5363  _tnargs = tmpMeta[1];
5364 #line 5364 OMC_FILE
5365 
5366 #line 3580 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5367  {
5368 #line 3580 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5369  modelica_metatype _arg;
5370 #line 3580 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5371  for (tmpMeta[1] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))); !listEmpty(tmpMeta[1]); tmpMeta[1]=MMC_CDR(tmpMeta[1]))
5372 #line 3580 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5373  {
5374 #line 3580 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5375  _arg = MMC_CAR(tmpMeta[1]);
5376 #line 3581 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5377  /* Pattern-matching assignment */
5378 #line 3581 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5379  tmpMeta[2] = _arg;
5380 #line 3581 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5381  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
5382 #line 3581 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5383  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
5384 #line 3581 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5385  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
5386 #line 3581 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5387  tmp4 = mmc_unbox_integer(tmpMeta[5]);
5388 #line 3581 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5389  _e = tmpMeta[3];
5390 #line 3581 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5391  _t = tmpMeta[4];
5392 #line 3581 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5393  _v = tmp4 /* pattern as ty=enumeration(CONSTANT, STRUCTURAL_PARAMETER, PARAMETER, DISCRETE, IMPLICITLY_DISCRETE, CONTINUOUS) */;
5394 #line 5394 OMC_FILE
5395 
5396 #line 3582 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5397  _e = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _foldArg ,&_foldArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _foldArg ,&_foldArg);
5398 #line 5398 OMC_FILE
5399 
5400 #line 3583 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5401  tmpMeta[3] = mmc_mk_box3(0, _e, _t, mmc_mk_integer((modelica_integer)_v));
5402 #line 3583 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5403  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _targs);
5404 #line 3583 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5405  _targs = tmpMeta[2];
5406 #line 5406 OMC_FILE
5407  }
5408  }
5409 
5410 #line 3586 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5411  {
5412 #line 3586 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5413  modelica_metatype _arg;
5414 #line 3586 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5415  for (tmpMeta[1] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))); !listEmpty(tmpMeta[1]); tmpMeta[1]=MMC_CDR(tmpMeta[1]))
5416 #line 3586 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5417  {
5418 #line 3586 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5419  _arg = MMC_CAR(tmpMeta[1]);
5420 #line 3587 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5421  /* Pattern-matching assignment */
5422 #line 3587 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5423  tmpMeta[2] = _arg;
5424 #line 3587 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5425  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 1));
5426 #line 3587 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5427  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
5428 #line 3587 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5429  tmpMeta[5] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
5430 #line 3587 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5431  tmpMeta[6] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 4));
5432 #line 3587 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5433  tmp5 = mmc_unbox_integer(tmpMeta[6]);
5434 #line 3587 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5435  _s = tmpMeta[3];
5436 #line 3587 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5437  _e = tmpMeta[4];
5438 #line 3587 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5439  _t = tmpMeta[5];
5440 #line 3587 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5441  _v = tmp5 /* pattern as ty=enumeration(CONSTANT, STRUCTURAL_PARAMETER, PARAMETER, DISCRETE, IMPLICITLY_DISCRETE, CONTINUOUS) */;
5442 #line 5442 OMC_FILE
5443 
5444 #line 3588 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5445  _e = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e, _foldArg ,&_foldArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e, _foldArg ,&_foldArg);
5446 #line 5446 OMC_FILE
5447 
5448 #line 3589 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5449  tmpMeta[3] = mmc_mk_box4(0, _s, _e, _t, mmc_mk_integer((modelica_integer)_v));
5450 #line 3589 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5451  tmpMeta[2] = mmc_mk_cons(tmpMeta[3], _tnargs);
5452 #line 3589 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5453  _tnargs = tmpMeta[2];
5454 #line 5454 OMC_FILE
5455  }
5456  }
5457 #line 3591 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5458  tmpMeta[1] = mmc_mk_box5(4, &NFCall_Call_ARG__TYPED__CALL__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), listReverse(_targs), listReverse(_tnargs), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))));
5459 #line 3591 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5460  tmpMeta[0] = tmpMeta[1];
5461 #line 5461 OMC_FILE
5462  goto tmp2_done;
5463  }
5464  case 5: {
5465 
5466  /* Pattern matching succeeded */
5467 #line 3596 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5468  _args = omc_List_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))), ((modelica_fnptr) _func), _foldArg ,&_foldArg);
5469 #line 5469 OMC_FILE
5470 #line 3597 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5471  tmpMeta[1] = mmc_mk_box6(5, &NFCall_Call_TYPED__CALL__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))), _args, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 6))));
5472 #line 3597 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5473  tmpMeta[0] = tmpMeta[1];
5474 #line 5474 OMC_FILE
5475  goto tmp2_done;
5476  }
5477  case 6: {
5478 
5479  /* Pattern matching succeeded */
5480 #line 3602 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5481  _e = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), _foldArg ,&_foldArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), _foldArg ,&_foldArg);
5482 #line 5482 OMC_FILE
5483 
5484 #line 3603 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5485  _iters = omc_NFExpression_mapFoldCallIteratorsShallow(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), ((modelica_fnptr) _func), _foldArg, NULL);
5486 #line 5486 OMC_FILE
5487 #line 3604 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5488  tmpMeta[1] = mmc_mk_box3(6, &NFCall_Call_UNTYPED__ARRAY__CONSTRUCTOR__desc, _e, _iters);
5489 #line 3604 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5490  tmpMeta[0] = tmpMeta[1];
5491 #line 5491 OMC_FILE
5492  goto tmp2_done;
5493  }
5494  case 7: {
5495 
5496  /* Pattern matching succeeded */
5497 #line 3609 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5498  _e = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))), _foldArg ,&_foldArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))), _foldArg ,&_foldArg);
5499 #line 5499 OMC_FILE
5500 
5501 #line 3610 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5502  _iters = omc_NFExpression_mapFoldCallIteratorsShallow(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))), ((modelica_fnptr) _func), _foldArg, NULL);
5503 #line 5503 OMC_FILE
5504 #line 3611 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5505  tmpMeta[1] = mmc_mk_box5(7, &NFCall_Call_TYPED__ARRAY__CONSTRUCTOR__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), _e, _iters);
5506 #line 3611 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5507  tmpMeta[0] = tmpMeta[1];
5508 #line 5508 OMC_FILE
5509  goto tmp2_done;
5510  }
5511  case 8: {
5512 
5513  /* Pattern matching succeeded */
5514 #line 3616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5515  _e = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), _foldArg ,&_foldArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), _foldArg ,&_foldArg);
5516 #line 5516 OMC_FILE
5517 
5518 #line 3617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5519  _iters = omc_NFExpression_mapFoldCallIteratorsShallow(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))), ((modelica_fnptr) _func), _foldArg, NULL);
5520 #line 5520 OMC_FILE
5521 #line 3618 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5522  tmpMeta[1] = mmc_mk_box4(8, &NFCall_Call_UNTYPED__REDUCTION__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), _e, _iters);
5523 #line 3618 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5524  tmpMeta[0] = tmpMeta[1];
5525 #line 5525 OMC_FILE
5526  goto tmp2_done;
5527  }
5528  case 9: {
5529 
5530  /* Pattern matching succeeded */
5531 #line 3623 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5532  _e = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))), _foldArg ,&_foldArg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 5))), _foldArg ,&_foldArg);
5533 #line 5533 OMC_FILE
5534 
5535 #line 3624 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5536  _iters = omc_NFExpression_mapFoldCallIteratorsShallow(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 6))), ((modelica_fnptr) _func), _foldArg, NULL);
5537 #line 5537 OMC_FILE
5538 #line 3625 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5539  tmpMeta[1] = mmc_mk_box6(9, &NFCall_Call_TYPED__REDUCTION__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_call), 4))), _e, _iters);
5540 #line 3625 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5541  tmpMeta[0] = tmpMeta[1];
5542 #line 5542 OMC_FILE
5543  goto tmp2_done;
5544  }
5545  }
5546  goto tmp2_end;
5547  tmp2_end: ;
5548  }
5549  goto goto_1;
5550  goto_1:;
5551  MMC_THROW_INTERNAL();
5552  goto tmp2_done;
5553  tmp2_done:;
5554  }
5555  }
5556  _outCall = tmpMeta[0];
5557  _return: OMC_LABEL_UNUSED
5558  if (out_foldArg) { *out_foldArg = _foldArg; }
5559  return _outCall;
5560 }
modelica_metatype modelica_string
m_integer modelica_integer
struct record_description NFCall_Call_ARG__TYPED__CALL__desc
struct record_description NFCall_Call_TYPED__CALL__desc
DLLExport modelica_metatype omc_NFExpression_mapFoldCallIteratorsShallow(threadData_t *threadData, modelica_metatype _iters, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
void * modelica_fnptr
struct record_description NFCall_Call_UNTYPED__ARRAY__CONSTRUCTOR__desc
DLLExport modelica_metatype omc_List_mapFold(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFunc, modelica_metatype _inArg, modelica_metatype *out_outArg)
Definition: List.c:9071
struct record_description NFCall_Call_UNTYPED__REDUCTION__desc
struct record_description NFCall_Call_TYPED__ARRAY__CONSTRUCTOR__desc
void * modelica_metatype
modelica_metatype listReverse(modelica_metatype)
struct record_description NFCall_Call_TYPED__REDUCTION__desc
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
struct record_description NFCall_Call_UNTYPED__CALL__desc
Here is the call graph for this function:

◆ omc_NFExpression_mapFoldClockShallow()

DLLExport modelica_metatype omc_NFExpression_mapFoldClockShallow ( threadData_t threadData,
modelica_metatype  _clockExp,
modelica_fnptr  _func,
modelica_metatype $in_arg,
modelica_metatype out_arg 
)

Definition at line 5622 of file NFExpression.c.

5623 {
5624  modelica_metatype _outExp = NULL;
5625  modelica_metatype _arg = NULL;
5626  modelica_metatype _clk = NULL;
5627  modelica_metatype _e1 = NULL;
5628  modelica_metatype _e2 = NULL;
5629  modelica_metatype _e3 = NULL;
5630  modelica_metatype _e4 = NULL;
5631  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
5632  MMC_SO();
5633  _tailrecursive: OMC_LABEL_UNUSED
5634  _arg = _$in_arg;
5635 #line 3477 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5636  /* Pattern-matching assignment */
5637 #line 3477 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5638  tmpMeta[0] = _clockExp;
5639 #line 3477 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5640  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],29,1) == 0) MMC_THROW_INTERNAL();
5641 #line 3477 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5642  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
5643 #line 3477 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5644  _clk = tmpMeta[1];
5645 #line 5645 OMC_FILE
5646 
5647 #line 5647 OMC_FILE
5648  { /* match expression */
5649  modelica_metatype tmp3_1;
5650  tmp3_1 = _clk;
5651  {
5652  int tmp3;
5653  {
5654  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
5655  case 4: {
5656  modelica_boolean tmp4;
5657  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,2) == 0) goto tmp2_end;
5658  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
5659  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
5660  _e1 = tmpMeta[1];
5661  _e2 = tmpMeta[2];
5662  /* Pattern matching succeeded */
5663 #line 3482 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5664  _e3 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
5665 #line 5665 OMC_FILE
5666 
5667 #line 3483 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5668  _e4 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2, _arg ,&_arg);
5669 #line 5669 OMC_FILE
5670 #line 3484 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5671  tmp4 = (modelica_boolean)(referenceEq(_e1, _e3) && referenceEq(_e2, _e4));
5672 #line 3484 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5673  if(tmp4)
5674 #line 3484 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5675  {
5676 #line 3484 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5677  tmpMeta[3] = _clockExp;
5678 #line 3484 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5679  }
5680 #line 3484 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5681  else
5682 #line 3484 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5683  {
5684 #line 3484 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5685  tmpMeta[1] = mmc_mk_box3(4, &NFExpression_ClockKind_INTEGER__CLOCK__desc, _e3, _e4);
5686 #line 3484 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5687  tmpMeta[2] = mmc_mk_box2(32, &NFExpression_CLKCONST__desc, tmpMeta[1]);
5688 #line 3484 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5689  tmpMeta[3] = tmpMeta[2];
5690 #line 3484 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5691  }
5692 #line 3484 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5693  tmpMeta[0] = tmpMeta[3];
5694 #line 5694 OMC_FILE
5695  goto tmp2_done;
5696  }
5697  case 5: {
5698  modelica_boolean tmp5;
5699  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,2,1) == 0) goto tmp2_end;
5700  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
5701  _e1 = tmpMeta[1];
5702  /* Pattern matching succeeded */
5703 #line 3490 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5704  _e2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
5705 #line 5705 OMC_FILE
5706 #line 3491 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5707  tmp5 = (modelica_boolean)referenceEq(_e1, _e2);
5708 #line 3491 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5709  if(tmp5)
5710 #line 3491 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5711  {
5712 #line 3491 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5713  tmpMeta[3] = _clockExp;
5714 #line 3491 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5715  }
5716 #line 3491 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5717  else
5718 #line 3491 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5719  {
5720 #line 3491 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5721  tmpMeta[1] = mmc_mk_box2(5, &NFExpression_ClockKind_REAL__CLOCK__desc, _e2);
5722 #line 3491 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5723  tmpMeta[2] = mmc_mk_box2(32, &NFExpression_CLKCONST__desc, tmpMeta[1]);
5724 #line 3491 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5725  tmpMeta[3] = tmpMeta[2];
5726 #line 3491 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5727  }
5728 #line 3491 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5729  tmpMeta[0] = tmpMeta[3];
5730 #line 5730 OMC_FILE
5731  goto tmp2_done;
5732  }
5733  case 6: {
5734  modelica_boolean tmp6;
5735  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,3,2) == 0) goto tmp2_end;
5736  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
5737  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
5738  _e1 = tmpMeta[1];
5739  _e2 = tmpMeta[2];
5740  /* Pattern matching succeeded */
5741 #line 3497 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5742  _e3 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
5743 #line 5743 OMC_FILE
5744 
5745 #line 3498 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5746  _e4 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2, _arg ,&_arg);
5747 #line 5747 OMC_FILE
5748 #line 3499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5749  tmp6 = (modelica_boolean)(referenceEq(_e1, _e3) && referenceEq(_e2, _e4));
5750 #line 3499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5751  if(tmp6)
5752 #line 3499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5753  {
5754 #line 3499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5755  tmpMeta[3] = _clockExp;
5756 #line 3499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5757  }
5758 #line 3499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5759  else
5760 #line 3499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5761  {
5762 #line 3499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5763  tmpMeta[1] = mmc_mk_box3(6, &NFExpression_ClockKind_BOOLEAN__CLOCK__desc, _e3, _e4);
5764 #line 3499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5765  tmpMeta[2] = mmc_mk_box2(32, &NFExpression_CLKCONST__desc, tmpMeta[1]);
5766 #line 3499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5767  tmpMeta[3] = tmpMeta[2];
5768 #line 3499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5769  }
5770 #line 3499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5771  tmpMeta[0] = tmpMeta[3];
5772 #line 5772 OMC_FILE
5773  goto tmp2_done;
5774  }
5775  case 7: {
5776  modelica_boolean tmp7;
5777  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,4,2) == 0) goto tmp2_end;
5778  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
5779  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
5780  _e1 = tmpMeta[1];
5781  _e2 = tmpMeta[2];
5782  /* Pattern matching succeeded */
5783 #line 3505 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5784  _e3 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
5785 #line 5785 OMC_FILE
5786 
5787 #line 3506 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5788  _e4 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2, _arg ,&_arg);
5789 #line 5789 OMC_FILE
5790 #line 3507 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5791  tmp7 = (modelica_boolean)(referenceEq(_e1, _e3) && referenceEq(_e2, _e4));
5792 #line 3507 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5793  if(tmp7)
5794 #line 3507 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5795  {
5796 #line 3507 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5797  tmpMeta[3] = _clockExp;
5798 #line 3507 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5799  }
5800 #line 3507 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5801  else
5802 #line 3507 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5803  {
5804 #line 3507 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5805  tmpMeta[1] = mmc_mk_box3(7, &NFExpression_ClockKind_SOLVER__CLOCK__desc, _e3, _e4);
5806 #line 3507 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5807  tmpMeta[2] = mmc_mk_box2(32, &NFExpression_CLKCONST__desc, tmpMeta[1]);
5808 #line 3507 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5809  tmpMeta[3] = tmpMeta[2];
5810 #line 3507 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5811  }
5812 #line 3507 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5813  tmpMeta[0] = tmpMeta[3];
5814 #line 5814 OMC_FILE
5815  goto tmp2_done;
5816  }
5817  default:
5818  tmp2_default: OMC_LABEL_UNUSED; {
5819 
5820  /* Pattern matching succeeded */
5821 #line 3511 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5822  tmpMeta[0] = _clockExp;
5823 #line 5823 OMC_FILE
5824  goto tmp2_done;
5825  }
5826  }
5827  goto tmp2_end;
5828  tmp2_end: ;
5829  }
5830  goto goto_1;
5831  goto_1:;
5832  MMC_THROW_INTERNAL();
5833  goto tmp2_done;
5834  tmp2_done:;
5835  }
5836  }
5837  _outExp = tmpMeta[0];
5838  _return: OMC_LABEL_UNUSED
5839  if (out_arg) { *out_arg = _arg; }
5840  return _outExp;
5841 }
signed char modelica_boolean
struct record_description NFExpression_CLKCONST__desc
void * modelica_metatype
struct record_description NFExpression_ClockKind_BOOLEAN__CLOCK__desc
struct record_description NFExpression_ClockKind_REAL__CLOCK__desc
struct record_description NFExpression_ClockKind_INTEGER__CLOCK__desc
struct record_description NFExpression_ClockKind_SOLVER__CLOCK__desc
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_mapFoldCref()

DLLExport modelica_metatype omc_NFExpression_mapFoldCref ( threadData_t threadData,
modelica_metatype  _cref,
modelica_fnptr  _func,
modelica_metatype $in_arg,
modelica_metatype out_arg 
)

Definition at line 6488 of file NFExpression.c.

6489 {
6490  modelica_metatype _outCref = NULL;
6491  modelica_metatype _arg = NULL;
6492  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
6493  MMC_SO();
6494  _tailrecursive: OMC_LABEL_UNUSED
6495  _arg = _$in_arg;
6496 #line 6496 OMC_FILE
6497  { /* match expression */
6498  modelica_metatype tmp3_1;
6499  tmp3_1 = _cref;
6500  {
6501  modelica_metatype _subs = NULL;
6502  modelica_metatype _rest = NULL;
6503  volatile mmc_switch_type tmp3;
6504  int tmp4;
6505  tmp3 = 0;
6506  for (; tmp3 < 2; tmp3++) {
6507  switch (MMC_SWITCH_CAST(tmp3)) {
6508  case 0: {
6509  modelica_integer tmp5;
6510  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,5) == 0) goto tmp2_end;
6511  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
6512  tmp5 = mmc_unbox_integer(tmpMeta[1]);
6513  if (1 != tmp5) goto tmp2_end;
6514 
6515  /* Pattern matching succeeded */
6516 #line 3286 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6517  _subs = omc_List_map1Fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 3))), boxvar_NFSubscript_mapFoldExp, ((modelica_fnptr) _func), _arg ,&_arg);
6518 #line 6518 OMC_FILE
6519 
6520 #line 3287 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6521  _rest = omc_NFExpression_mapFoldCref(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 6))), ((modelica_fnptr) _func), _arg ,&_arg);
6522 #line 6522 OMC_FILE
6523 #line 3288 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6524  tmpMeta[1] = mmc_mk_box6(3, &NFComponentRef_CREF__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 2))), _subs, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 4))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 5))), _rest);
6525 #line 3288 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6526  tmpMeta[0] = tmpMeta[1];
6527 #line 6527 OMC_FILE
6528  goto tmp2_done;
6529  }
6530  case 1: {
6531 
6532  /* Pattern matching succeeded */
6533 #line 3291 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6534  tmpMeta[0] = _cref;
6535 #line 6535 OMC_FILE
6536  goto tmp2_done;
6537  }
6538  }
6539  goto tmp2_end;
6540  tmp2_end: ;
6541  }
6542  goto goto_1;
6543  goto_1:;
6544  MMC_THROW_INTERNAL();
6545  goto tmp2_done;
6546  tmp2_done:;
6547  }
6548  }
6549  _outCref = tmpMeta[0];
6550  _return: OMC_LABEL_UNUSED
6551  if (out_arg) { *out_arg = _arg; }
6552  return _outCref;
6553 }
m_integer modelica_integer
float mmc_switch_type
void * modelica_fnptr
struct record_description NFComponentRef_CREF__desc
void * modelica_metatype
DLLExport modelica_metatype omc_List_map1Fold(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFunc, modelica_metatype _inConstArg, modelica_metatype _inArg, modelica_metatype *out_outArg)
Definition: List.c:8831
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
DLLExport modelica_metatype omc_NFExpression_mapFoldCref(threadData_t *threadData, modelica_metatype _cref, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_mapFoldCrefShallow()

DLLExport modelica_metatype omc_NFExpression_mapFoldCrefShallow ( threadData_t threadData,
modelica_metatype  _cref,
modelica_fnptr  _func,
modelica_metatype $in_arg,
modelica_metatype out_arg 
)

Definition at line 5120 of file NFExpression.c.

5121 {
5122  modelica_metatype _outCref = NULL;
5123  modelica_metatype _arg = NULL;
5124  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
5125  MMC_SO();
5126  _tailrecursive: OMC_LABEL_UNUSED
5127  _arg = _$in_arg;
5128 #line 5128 OMC_FILE
5129  { /* match expression */
5130  modelica_metatype tmp3_1;
5131  tmp3_1 = _cref;
5132  {
5133  modelica_metatype _subs = NULL;
5134  modelica_metatype _rest = NULL;
5135  volatile mmc_switch_type tmp3;
5136  int tmp4;
5137  tmp3 = 0;
5138  for (; tmp3 < 2; tmp3++) {
5139  switch (MMC_SWITCH_CAST(tmp3)) {
5140  case 0: {
5141  modelica_integer tmp5;
5142  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,5) == 0) goto tmp2_end;
5143  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 5));
5144  tmp5 = mmc_unbox_integer(tmpMeta[1]);
5145  if (1 != tmp5) goto tmp2_end;
5146 
5147  /* Pattern matching succeeded */
5148 #line 3672 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5149  _subs = omc_List_map1Fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 3))), boxvar_NFSubscript_mapFoldExpShallow, ((modelica_fnptr) _func), _arg ,&_arg);
5150 #line 5150 OMC_FILE
5151 
5152 #line 3673 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5153  _rest = omc_NFExpression_mapFoldCrefShallow(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 6))), ((modelica_fnptr) _func), _arg ,&_arg);
5154 #line 5154 OMC_FILE
5155 #line 3674 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5156  tmpMeta[1] = mmc_mk_box6(3, &NFComponentRef_CREF__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 2))), _subs, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 4))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_cref), 5))), _rest);
5157 #line 3674 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5158  tmpMeta[0] = tmpMeta[1];
5159 #line 5159 OMC_FILE
5160  goto tmp2_done;
5161  }
5162  case 1: {
5163 
5164  /* Pattern matching succeeded */
5165 #line 3677 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5166  tmpMeta[0] = _cref;
5167 #line 5167 OMC_FILE
5168  goto tmp2_done;
5169  }
5170  }
5171  goto tmp2_end;
5172  tmp2_end: ;
5173  }
5174  goto goto_1;
5175  goto_1:;
5176  MMC_THROW_INTERNAL();
5177  goto tmp2_done;
5178  tmp2_done:;
5179  }
5180  }
5181  _outCref = tmpMeta[0];
5182  _return: OMC_LABEL_UNUSED
5183  if (out_arg) { *out_arg = _arg; }
5184  return _outCref;
5185 }
m_integer modelica_integer
float mmc_switch_type
void * modelica_fnptr
DLLExport modelica_metatype omc_NFExpression_mapFoldCrefShallow(threadData_t *threadData, modelica_metatype _cref, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
struct record_description NFComponentRef_CREF__desc
void * modelica_metatype
DLLExport modelica_metatype omc_List_map1Fold(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFunc, modelica_metatype _inConstArg, modelica_metatype _inArg, modelica_metatype *out_outArg)
Definition: List.c:8831
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_mapFoldOpt()

DLLExport modelica_metatype omc_NFExpression_mapFoldOpt ( threadData_t threadData,
modelica_metatype  _exp,
modelica_fnptr  _func,
modelica_metatype $in_arg,
modelica_metatype out_arg 
)

Definition at line 6914 of file NFExpression.c.

6915 {
6916  modelica_metatype _outExp = NULL;
6917  modelica_metatype _arg = NULL;
6918  modelica_metatype _e = NULL;
6919  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
6920  MMC_SO();
6921  _tailrecursive: OMC_LABEL_UNUSED
6922  _arg = _$in_arg;
6923 #line 3152 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6924  if(isSome(_exp))
6925 #line 3152 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6926  {
6927 #line 3153 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6928  /* Pattern-matching assignment */
6929 #line 3153 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6930  tmpMeta[0] = _exp;
6931 #line 3153 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6932  if (optionNone(tmpMeta[0])) MMC_THROW_INTERNAL();
6933 #line 3153 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6934  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 1));
6935 #line 3153 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6936  _e = tmpMeta[1];
6937 #line 6937 OMC_FILE
6938 
6939 #line 3154 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6940  _e = omc_NFExpression_mapFold(threadData, _e, ((modelica_fnptr) _func), _arg ,&_arg);
6941 #line 6941 OMC_FILE
6942 
6943 #line 3155 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6944  _outExp = mmc_mk_some(_e);
6945 #line 6945 OMC_FILE
6946  }
6947  _return: OMC_LABEL_UNUSED
6948  if (out_arg) { *out_arg = _arg; }
6949  return _outExp;
6950 }
DLLExport modelica_metatype omc_NFExpression_mapFold(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
void * modelica_fnptr
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_NFExpression_mapFoldOptShallow()

DLLExport modelica_metatype omc_NFExpression_mapFoldOptShallow ( threadData_t threadData,
modelica_metatype  _exp,
modelica_fnptr  _func,
modelica_metatype $in_arg,
modelica_metatype out_arg 
)

Definition at line 5563 of file NFExpression.c.

5564 {
5565  modelica_metatype _outExp = NULL;
5566  modelica_metatype _arg = NULL;
5567  modelica_metatype _e1 = NULL;
5568  modelica_metatype _e2 = NULL;
5569  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
5570  MMC_SO();
5571  _tailrecursive: OMC_LABEL_UNUSED
5572  _arg = _$in_arg;
5573 #line 5573 OMC_FILE
5574  { /* match expression */
5575  modelica_metatype tmp3_1;
5576  tmp3_1 = _exp;
5577  {
5578  volatile mmc_switch_type tmp3;
5579  int tmp4;
5580  tmp3 = 0;
5581  for (; tmp3 < 2; tmp3++) {
5582  switch (MMC_SWITCH_CAST(tmp3)) {
5583  case 0: {
5584  if (optionNone(tmp3_1)) goto tmp2_end;
5585  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
5586  _e1 = tmpMeta[1];
5587  /* Pattern matching succeeded */
5588 #line 3531 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5589  _e2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1, _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1, _arg ,&_arg);
5590 #line 5590 OMC_FILE
5591 #line 3532 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5592  tmpMeta[0] = (referenceEq(_e1, _e2)?_exp:mmc_mk_some(_e2));
5593 #line 5593 OMC_FILE
5594  goto tmp2_done;
5595  }
5596  case 1: {
5597 
5598  /* Pattern matching succeeded */
5599 #line 3535 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5600  tmpMeta[0] = _exp;
5601 #line 5601 OMC_FILE
5602  goto tmp2_done;
5603  }
5604  }
5605  goto tmp2_end;
5606  tmp2_end: ;
5607  }
5608  goto goto_1;
5609  goto_1:;
5610  MMC_THROW_INTERNAL();
5611  goto tmp2_done;
5612  tmp2_done:;
5613  }
5614  }
5615  _outExp = tmpMeta[0];
5616  _return: OMC_LABEL_UNUSED
5617  if (out_arg) { *out_arg = _arg; }
5618  return _outExp;
5619 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_NFExpression_mapFoldShallow()

DLLExport modelica_metatype omc_NFExpression_mapFoldShallow ( threadData_t threadData,
modelica_metatype  _exp,
modelica_fnptr  _func,
modelica_metatype $in_arg,
modelica_metatype out_arg 
)

Definition at line 5849 of file NFExpression.c.

5850 {
5851  modelica_metatype _outExp = NULL;
5852  modelica_metatype _arg = NULL;
5853  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
5854  MMC_SO();
5855  _tailrecursive: OMC_LABEL_UNUSED
5856  _arg = _$in_arg;
5857 #line 5857 OMC_FILE
5858  { /* match expression */
5859  modelica_metatype tmp3_1;
5860  tmp3_1 = _exp;
5861  {
5862  modelica_metatype _e1 = NULL;
5863  modelica_metatype _e2 = NULL;
5864  modelica_metatype _e3 = NULL;
5865  modelica_metatype _oe = NULL;
5866  modelica_metatype _cr = NULL;
5867  modelica_metatype _expl = NULL;
5868  modelica_metatype _call = NULL;
5869  modelica_metatype _subs = NULL;
5870  int tmp3;
5871  {
5872  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
5873  case 32: {
5874 
5875  /* Pattern matching succeeded */
5876 #line 3318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5877  _outExp = omc_NFExpression_mapFoldClockShallow(threadData, _exp, ((modelica_fnptr) _func), _arg ,&_arg);
5878 #line 5878 OMC_FILE
5879 #line 3319 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5880  tmpMeta[0] = _outExp;
5881 #line 5881 OMC_FILE
5882  goto tmp2_done;
5883  }
5884  case 8: {
5885  modelica_boolean tmp4;
5886 
5887  /* Pattern matching succeeded */
5888 #line 3324 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5889  _cr = omc_NFExpression_mapFoldCrefShallow(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func), _arg ,&_arg);
5890 #line 5890 OMC_FILE
5891 #line 3325 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5892  tmp4 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _cr);
5893 #line 3325 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5894  if(tmp4)
5895 #line 3325 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5896  {
5897 #line 3325 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5898  tmpMeta[2] = _exp;
5899 #line 3325 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5900  }
5901 #line 3325 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5902  else
5903 #line 3325 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5904  {
5905 #line 3325 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5906  tmpMeta[1] = mmc_mk_box3(8, &NFExpression_CREF__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _cr);
5907 #line 3325 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5908  tmpMeta[2] = tmpMeta[1];
5909 #line 3325 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5910  }
5911 #line 3325 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5912  tmpMeta[0] = tmpMeta[2];
5913 #line 5913 OMC_FILE
5914  goto tmp2_done;
5915  }
5916  case 10: {
5917 
5918  /* Pattern matching succeeded */
5919 #line 3330 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5920  _expl = omc_List_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func), _arg ,&_arg);
5921 #line 5921 OMC_FILE
5922 #line 3331 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5923  tmpMeta[1] = mmc_mk_box4(10, &NFExpression_ARRAY__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _expl, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
5924 #line 3331 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5925  tmpMeta[0] = tmpMeta[1];
5926 #line 5926 OMC_FILE
5927  goto tmp2_done;
5928  }
5929  case 12: {
5930  modelica_boolean tmp5;
5931  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,9,4) == 0) goto tmp2_end;
5932  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
5933 
5934  _oe = tmpMeta[1];
5935  /* Pattern matching succeeded */
5936 #line 3336 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5937  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _arg ,&_arg);
5938 #line 5938 OMC_FILE
5939 
5940 #line 3337 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5941  _oe = omc_NFExpression_mapFoldOptShallow(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func), _arg ,&_arg);
5942 #line 5942 OMC_FILE
5943 
5944 #line 3338 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5945  _e3 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))), _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))), _arg ,&_arg);
5946 #line 5946 OMC_FILE
5947 #line 3339 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5948  tmp5 = (modelica_boolean)((referenceEq(_e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))) && referenceEq(_oe, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))))) && referenceEq(_e3, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5)))));
5949 #line 3339 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5950  if(tmp5)
5951 #line 3339 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5952  {
5953 #line 3339 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5954  tmpMeta[2] = _exp;
5955 #line 3339 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5956  }
5957 #line 3339 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5958  else
5959 #line 3339 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5960  {
5961 #line 3339 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5962  tmpMeta[1] = mmc_mk_box5(12, &NFExpression_RANGE__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1, _oe, _e3);
5963 #line 3339 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5964  tmpMeta[2] = tmpMeta[1];
5965 #line 3339 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5966  }
5967 #line 3339 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5968  tmpMeta[0] = tmpMeta[2];
5969 #line 5969 OMC_FILE
5970  goto tmp2_done;
5971  }
5972  case 13: {
5973 
5974  /* Pattern matching succeeded */
5975 #line 3345 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5976  _expl = omc_List_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func), _arg ,&_arg);
5977 #line 5977 OMC_FILE
5978 #line 3346 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5979  tmpMeta[1] = mmc_mk_box3(13, &NFExpression_TUPLE__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _expl);
5980 #line 3346 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5981  tmpMeta[0] = tmpMeta[1];
5982 #line 5982 OMC_FILE
5983  goto tmp2_done;
5984  }
5985  case 14: {
5986 
5987  /* Pattern matching succeeded */
5988 #line 3351 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5989  _expl = omc_List_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), ((modelica_fnptr) _func), _arg ,&_arg);
5990 #line 5990 OMC_FILE
5991 #line 3352 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5992  tmpMeta[1] = mmc_mk_box4(14, &NFExpression_RECORD__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _expl);
5993 #line 3352 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
5994  tmpMeta[0] = tmpMeta[1];
5995 #line 5995 OMC_FILE
5996  goto tmp2_done;
5997  }
5998  case 15: {
5999  modelica_boolean tmp6;
6000 
6001  /* Pattern matching succeeded */
6002 #line 3357 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6003  _call = omc_NFExpression_mapFoldCallShallow(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func), _arg ,&_arg);
6004 #line 6004 OMC_FILE
6005 #line 3358 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6006  tmp6 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _call);
6007 #line 3358 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6008  if(tmp6)
6009 #line 3358 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6010  {
6011 #line 3358 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6012  tmpMeta[2] = _exp;
6013 #line 3358 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6014  }
6015 #line 3358 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6016  else
6017 #line 3358 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6018  {
6019 #line 3358 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6020  tmpMeta[1] = mmc_mk_box2(15, &NFExpression_CALL__desc, _call);
6021 #line 3358 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6022  tmpMeta[2] = tmpMeta[1];
6023 #line 3358 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6024  }
6025 #line 3358 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6026  tmpMeta[0] = tmpMeta[2];
6027 #line 6027 OMC_FILE
6028  goto tmp2_done;
6029  }
6030  case 16: {
6031  modelica_boolean tmp7;
6032 
6033  /* Pattern matching succeeded */
6034 #line 3363 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6035  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _arg ,&_arg);
6036 #line 6036 OMC_FILE
6037 
6038 #line 3364 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6039  _oe = omc_NFExpression_mapFoldOptShallow(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func), _arg ,&_arg);
6040 #line 6040 OMC_FILE
6041 #line 3365 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6042  tmp7 = (modelica_boolean)(referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _oe));
6043 #line 3365 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6044  if(tmp7)
6045 #line 3365 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6046  {
6047 #line 3365 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6048  tmpMeta[2] = _exp;
6049 #line 3365 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6050  }
6051 #line 3365 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6052  else
6053 #line 3365 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6054  {
6055 #line 3365 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6056  tmpMeta[1] = mmc_mk_box3(16, &NFExpression_SIZE__desc, _e1, _oe);
6057 #line 3365 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6058  tmpMeta[2] = tmpMeta[1];
6059 #line 3365 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6060  }
6061 #line 3365 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6062  tmpMeta[0] = tmpMeta[2];
6063 #line 6063 OMC_FILE
6064  goto tmp2_done;
6065  }
6066  case 18: {
6067  modelica_boolean tmp8;
6068 
6069  /* Pattern matching succeeded */
6070 #line 3371 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6071  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _arg ,&_arg);
6072 #line 6072 OMC_FILE
6073 
6074 #line 3372 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6075  _e2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _arg ,&_arg);
6076 #line 6076 OMC_FILE
6077 #line 3373 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6078  tmp8 = (modelica_boolean)(referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _e2));
6079 #line 3373 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6080  if(tmp8)
6081 #line 3373 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6082  {
6083 #line 3373 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6084  tmpMeta[2] = _exp;
6085 #line 3373 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6086  }
6087 #line 3373 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6088  else
6089 #line 3373 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6090  {
6091 #line 3373 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6092  tmpMeta[1] = mmc_mk_box4(18, &NFExpression_BINARY__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e2);
6093 #line 3373 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6094  tmpMeta[2] = tmpMeta[1];
6095 #line 3373 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6096  }
6097 #line 3373 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6098  tmpMeta[0] = tmpMeta[2];
6099 #line 6099 OMC_FILE
6100  goto tmp2_done;
6101  }
6102  case 19: {
6103  modelica_boolean tmp9;
6104 
6105  /* Pattern matching succeeded */
6106 #line 3379 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6107  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _arg ,&_arg);
6108 #line 6108 OMC_FILE
6109 #line 3380 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6110  tmp9 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e1);
6111 #line 3380 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6112  if(tmp9)
6113 #line 3380 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6114  {
6115 #line 3380 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6116  tmpMeta[2] = _exp;
6117 #line 3380 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6118  }
6119 #line 3380 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6120  else
6121 #line 3380 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6122  {
6123 #line 3380 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6124  tmpMeta[1] = mmc_mk_box3(19, &NFExpression_UNARY__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
6125 #line 3380 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6126  tmpMeta[2] = tmpMeta[1];
6127 #line 3380 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6128  }
6129 #line 3380 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6130  tmpMeta[0] = tmpMeta[2];
6131 #line 6131 OMC_FILE
6132  goto tmp2_done;
6133  }
6134  case 20: {
6135  modelica_boolean tmp10;
6136 
6137  /* Pattern matching succeeded */
6138 #line 3385 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6139  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _arg ,&_arg);
6140 #line 6140 OMC_FILE
6141 
6142 #line 3386 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6143  _e2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _arg ,&_arg);
6144 #line 6144 OMC_FILE
6145 #line 3387 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6146  tmp10 = (modelica_boolean)(referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _e2));
6147 #line 3387 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6148  if(tmp10)
6149 #line 3387 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6150  {
6151 #line 3387 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6152  tmpMeta[2] = _exp;
6153 #line 3387 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6154  }
6155 #line 3387 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6156  else
6157 #line 3387 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6158  {
6159 #line 3387 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6160  tmpMeta[1] = mmc_mk_box4(20, &NFExpression_LBINARY__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e2);
6161 #line 3387 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6162  tmpMeta[2] = tmpMeta[1];
6163 #line 3387 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6164  }
6165 #line 3387 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6166  tmpMeta[0] = tmpMeta[2];
6167 #line 6167 OMC_FILE
6168  goto tmp2_done;
6169  }
6170  case 21: {
6171  modelica_boolean tmp11;
6172 
6173  /* Pattern matching succeeded */
6174 #line 3393 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6175  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _arg ,&_arg);
6176 #line 6176 OMC_FILE
6177 #line 3394 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6178  tmp11 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e1);
6179 #line 3394 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6180  if(tmp11)
6181 #line 3394 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6182  {
6183 #line 3394 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6184  tmpMeta[2] = _exp;
6185 #line 3394 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6186  }
6187 #line 3394 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6188  else
6189 #line 3394 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6190  {
6191 #line 3394 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6192  tmpMeta[1] = mmc_mk_box3(21, &NFExpression_LUNARY__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
6193 #line 3394 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6194  tmpMeta[2] = tmpMeta[1];
6195 #line 3394 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6196  }
6197 #line 3394 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6198  tmpMeta[0] = tmpMeta[2];
6199 #line 6199 OMC_FILE
6200  goto tmp2_done;
6201  }
6202  case 22: {
6203  modelica_boolean tmp12;
6204 
6205  /* Pattern matching succeeded */
6206 #line 3399 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6207  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _arg ,&_arg);
6208 #line 6208 OMC_FILE
6209 
6210 #line 3400 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6211  _e2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _arg ,&_arg);
6212 #line 6212 OMC_FILE
6213 #line 3401 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6214  tmp12 = (modelica_boolean)(referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _e2));
6215 #line 3401 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6216  if(tmp12)
6217 #line 3401 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6218  {
6219 #line 3401 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6220  tmpMeta[2] = _exp;
6221 #line 3401 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6222  }
6223 #line 3401 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6224  else
6225 #line 3401 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6226  {
6227 #line 3401 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6228  tmpMeta[1] = mmc_mk_box4(22, &NFExpression_RELATION__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e2);
6229 #line 3401 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6230  tmpMeta[2] = tmpMeta[1];
6231 #line 3401 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6232  }
6233 #line 3401 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6234  tmpMeta[0] = tmpMeta[2];
6235 #line 6235 OMC_FILE
6236  goto tmp2_done;
6237  }
6238  case 23: {
6239  modelica_boolean tmp13;
6240 
6241  /* Pattern matching succeeded */
6242 #line 3407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6243  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _arg ,&_arg);
6244 #line 6244 OMC_FILE
6245 
6246 #line 3408 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6247  _e2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _arg ,&_arg);
6248 #line 6248 OMC_FILE
6249 
6250 #line 3409 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6251  _e3 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _arg ,&_arg);
6252 #line 6252 OMC_FILE
6253 #line 3410 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6254  tmp13 = (modelica_boolean)((referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e2)) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _e3));
6255 #line 3410 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6256  if(tmp13)
6257 #line 3410 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6258  {
6259 #line 3410 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6260  tmpMeta[2] = _exp;
6261 #line 3410 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6262  }
6263 #line 3410 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6264  else
6265 #line 3410 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6266  {
6267 #line 3410 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6268  tmpMeta[1] = mmc_mk_box4(23, &NFExpression_IF__desc, _e1, _e2, _e3);
6269 #line 3410 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6270  tmpMeta[2] = tmpMeta[1];
6271 #line 3410 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6272  }
6273 #line 3410 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6274  tmpMeta[0] = tmpMeta[2];
6275 #line 6275 OMC_FILE
6276  goto tmp2_done;
6277  }
6278  case 24: {
6279  modelica_boolean tmp14;
6280 
6281  /* Pattern matching succeeded */
6282 #line 3416 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6283  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _arg ,&_arg);
6284 #line 6284 OMC_FILE
6285 #line 3417 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6286  tmp14 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e1);
6287 #line 3417 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6288  if(tmp14)
6289 #line 3417 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6290  {
6291 #line 3417 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6292  tmpMeta[2] = _exp;
6293 #line 3417 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6294  }
6295 #line 3417 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6296  else
6297 #line 3417 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6298  {
6299 #line 3417 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6300  tmpMeta[1] = mmc_mk_box3(24, &NFExpression_CAST__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
6301 #line 3417 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6302  tmpMeta[2] = tmpMeta[1];
6303 #line 3417 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6304  }
6305 #line 3417 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6306  tmpMeta[0] = tmpMeta[2];
6307 #line 6307 OMC_FILE
6308  goto tmp2_done;
6309  }
6310  case 25: {
6311  modelica_boolean tmp15;
6312 
6313  /* Pattern matching succeeded */
6314 #line 3422 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6315  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _arg ,&_arg);
6316 #line 6316 OMC_FILE
6317 #line 3423 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6318  tmp15 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
6319 #line 3423 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6320  if(tmp15)
6321 #line 3423 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6322  {
6323 #line 3423 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6324  tmpMeta[2] = _exp;
6325 #line 3423 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6326  }
6327 #line 3423 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6328  else
6329 #line 3423 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6330  {
6331 #line 3423 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6332  tmpMeta[1] = mmc_mk_box3(25, &NFExpression_UNBOX__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
6333 #line 3423 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6334  tmpMeta[2] = tmpMeta[1];
6335 #line 3423 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6336  }
6337 #line 3423 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6338  tmpMeta[0] = tmpMeta[2];
6339 #line 6339 OMC_FILE
6340  goto tmp2_done;
6341  }
6342  case 26: {
6343 
6344  /* Pattern matching succeeded */
6345 #line 3428 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6346  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _arg ,&_arg);
6347 #line 6347 OMC_FILE
6348 
6349 #line 3429 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6350  tmpMeta[1] = mmc_mk_box1(0, ((modelica_fnptr) _func));
6351 #line 3429 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6352  _subs = omc_List_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), (modelica_fnptr) mmc_mk_box2(0,closure0_NFSubscript_mapFoldExpShallow,tmpMeta[1]), _arg ,&_arg);
6353 #line 6353 OMC_FILE
6354 #line 3430 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6355  tmpMeta[1] = mmc_mk_box4(26, &NFExpression_SUBSCRIPTED__EXP__desc, _e1, _subs, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
6356 #line 3430 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6357  tmpMeta[0] = tmpMeta[1];
6358 #line 6358 OMC_FILE
6359  goto tmp2_done;
6360  }
6361  case 27: {
6362  modelica_boolean tmp17;
6363 
6364  /* Pattern matching succeeded */
6365 #line 3435 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6366  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _arg ,&_arg);
6367 #line 6367 OMC_FILE
6368 #line 3436 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6369  tmp17 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
6370 #line 3436 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6371  if(tmp17)
6372 #line 3436 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6373  {
6374 #line 3436 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6375  tmpMeta[2] = _exp;
6376 #line 3436 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6377  }
6378 #line 3436 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6379  else
6380 #line 3436 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6381  {
6382 #line 3436 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6383  tmpMeta[1] = mmc_mk_box4(27, &NFExpression_TUPLE__ELEMENT__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
6384 #line 3436 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6385  tmpMeta[2] = tmpMeta[1];
6386 #line 3436 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6387  }
6388 #line 3436 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6389  tmpMeta[0] = tmpMeta[2];
6390 #line 6390 OMC_FILE
6391  goto tmp2_done;
6392  }
6393  case 28: {
6394  modelica_boolean tmp18;
6395 
6396  /* Pattern matching succeeded */
6397 #line 3441 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6398  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _arg ,&_arg);
6399 #line 6399 OMC_FILE
6400 #line 3442 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6401  tmp18 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
6402 #line 3442 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6403  if(tmp18)
6404 #line 3442 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6405  {
6406 #line 3442 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6407  tmpMeta[2] = _exp;
6408 #line 3442 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6409  }
6410 #line 3442 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6411  else
6412 #line 3442 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6413  {
6414 #line 3442 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6415  tmpMeta[1] = mmc_mk_box5(28, &NFExpression_RECORD__ELEMENT__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))));
6416 #line 3442 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6417  tmpMeta[2] = tmpMeta[1];
6418 #line 3442 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6419  }
6420 #line 3442 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6421  tmpMeta[0] = tmpMeta[2];
6422 #line 6422 OMC_FILE
6423  goto tmp2_done;
6424  }
6425  case 30: {
6426 
6427  /* Pattern matching succeeded */
6428 #line 3447 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6429  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), omc_Mutable_access(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))), _arg ,&_arg) : ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, omc_Mutable_access(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))), _arg ,&_arg);
6430 #line 6430 OMC_FILE
6431 
6432 #line 3448 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6433  omc_Mutable_update(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
6434 #line 6434 OMC_FILE
6435 #line 3449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6436  tmpMeta[0] = _exp;
6437 #line 6437 OMC_FILE
6438  goto tmp2_done;
6439  }
6440  case 33: {
6441 
6442  /* Pattern matching succeeded */
6443 #line 3454 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6444  _expl = omc_List_mapFold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func), _arg ,&_arg);
6445 #line 6445 OMC_FILE
6446 
6447 #line 3455 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6448  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(6));
6449 #line 3455 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6450  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_exp), 6*sizeof(modelica_metatype));
6451 #line 3455 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6452  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[3] = _expl;
6453 #line 3455 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6454  _exp = tmpMeta[1];
6455 #line 6455 OMC_FILE
6456 #line 3456 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6457  tmpMeta[0] = _exp;
6458 #line 6458 OMC_FILE
6459  goto tmp2_done;
6460  }
6461  default:
6462  tmp2_default: OMC_LABEL_UNUSED; {
6463 
6464  /* Pattern matching succeeded */
6465 #line 3459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
6466  tmpMeta[0] = _exp;
6467 #line 6467 OMC_FILE
6468  goto tmp2_done;
6469  }
6470  }
6471  goto tmp2_end;
6472  tmp2_end: ;
6473  }
6474  goto goto_1;
6475  goto_1:;
6476  MMC_THROW_INTERNAL();
6477  goto tmp2_done;
6478  tmp2_done:;
6479  }
6480  }
6481  _outExp = tmpMeta[0];
6482  _return: OMC_LABEL_UNUSED
6483  if (out_arg) { *out_arg = _arg; }
6484  return _outExp;
6485 }
DLLExport modelica_metatype omc_NFExpression_mapFoldCallShallow(threadData_t *threadData, modelica_metatype _call, modelica_fnptr _func, modelica_metatype _ $in_foldArg, modelica_metatype *out_foldArg)
struct record_description NFExpression_CAST__desc
struct record_description NFExpression_UNBOX__desc
void omc_Mutable_update(threadData_t *threadData, modelica_metatype _mutable, modelica_metatype _data)
Definition: Mutable.c:31
struct record_description NFExpression_TUPLE__ELEMENT__desc
struct record_description NFExpression_SUBSCRIPTED__EXP__desc
struct record_description NFExpression_RECORD__desc
struct record_description NFExpression_CALL__desc
signed char modelica_boolean
struct record_description NFExpression_TUPLE__desc
modelica_metatype omc_Mutable_access(threadData_t *threadData, modelica_metatype _mutable)
Definition: Mutable.c:13
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
struct record_description NFExpression_ARRAY__desc
DLLExport modelica_metatype omc_NFExpression_mapFoldOptShallow(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
DLLExport modelica_metatype omc_NFExpression_mapFoldClockShallow(threadData_t *threadData, modelica_metatype _clockExp, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
void * modelica_fnptr
DLLExport modelica_metatype omc_NFExpression_mapFoldCrefShallow(threadData_t *threadData, modelica_metatype _cref, modelica_fnptr _func, modelica_metatype _ $in_arg, modelica_metatype *out_arg)
struct record_description NFExpression_RANGE__desc
DLLExport modelica_metatype omc_List_mapFold(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFunc, modelica_metatype _inArg, modelica_metatype *out_outArg)
Definition: List.c:9071
struct record_description NFExpression_RELATION__desc
struct record_description NFExpression_IF__desc
void * modelica_metatype
struct record_description NFExpression_UNARY__desc
struct record_description NFExpression_SIZE__desc
struct record_description NFExpression_LBINARY__desc
struct record_description NFExpression_RECORD__ELEMENT__desc
struct record_description NFExpression_BINARY__desc
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
struct record_description NFExpression_LUNARY__desc
struct record_description NFExpression_CREF__desc
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_mapOpt()

DLLExport modelica_metatype omc_NFExpression_mapOpt ( threadData_t threadData,
modelica_metatype  _exp,
modelica_fnptr  _func 
)

Definition at line 12032 of file NFExpression.c.

12033 {
12034  modelica_metatype _outExp = NULL;
12035  modelica_metatype _e = NULL;
12036  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
12037  MMC_SO();
12038  _tailrecursive: OMC_LABEL_UNUSED
12039 #line 1928 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12040  if(isSome(_exp))
12041 #line 1928 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12042  {
12043 #line 1929 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12044  /* Pattern-matching assignment */
12045 #line 1929 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12046  tmpMeta[0] = _exp;
12047 #line 1929 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12048  if (optionNone(tmpMeta[0])) MMC_THROW_INTERNAL();
12049 #line 1929 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12050  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 1));
12051 #line 1929 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12052  _e = tmpMeta[1];
12053 #line 12053 OMC_FILE
12054 
12055 #line 1930 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
12056  _outExp = mmc_mk_some(omc_NFExpression_map(threadData, _e, ((modelica_fnptr) _func)));
12057 #line 12057 OMC_FILE
12058  }
12059  _return: OMC_LABEL_UNUSED
12060  return _outExp;
12061 }
void * modelica_fnptr
DLLExport modelica_metatype omc_NFExpression_map(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_NFExpression_mapShallow()

DLLExport modelica_metatype omc_NFExpression_mapShallow ( threadData_t threadData,
modelica_metatype  _exp,
modelica_fnptr  _func 
)

Definition at line 10118 of file NFExpression.c.

10119 {
10120  modelica_metatype _outExp = NULL;
10121  modelica_metatype tmpMeta[6] __attribute__((unused)) = {0};
10122  MMC_SO();
10123  _tailrecursive: OMC_LABEL_UNUSED
10124 #line 10124 OMC_FILE
10125  { /* match expression */
10126  modelica_metatype tmp3_1;
10127  tmp3_1 = _exp;
10128  {
10129  modelica_metatype _e1 = NULL;
10130  modelica_metatype _e2 = NULL;
10131  modelica_metatype _e3 = NULL;
10132  modelica_metatype _e4 = NULL;
10133  volatile mmc_switch_type tmp3;
10134  int tmp4;
10135  tmp3 = 0;
10136  for (; tmp3 < 29; tmp3++) {
10137  switch (MMC_SWITCH_CAST(tmp3)) {
10138  case 0: {
10139  modelica_boolean tmp5;
10140  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,29,1) == 0) goto tmp2_end;
10141  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
10142  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],1,2) == 0) goto tmp2_end;
10143  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
10144  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
10145  _e1 = tmpMeta[2];
10146  _e2 = tmpMeta[3];
10147  /* Pattern matching succeeded */
10148 #line 2085 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10149  _e3 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1);
10150 #line 10150 OMC_FILE
10151 
10152 #line 2086 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10153  _e4 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2);
10154 #line 10154 OMC_FILE
10155 #line 2087 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10156  tmp5 = (modelica_boolean)(referenceEq(_e1, _e3) && referenceEq(_e2, _e4));
10157 #line 2087 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10158  if(tmp5)
10159 #line 2087 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10160  {
10161 #line 2087 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10162  tmpMeta[3] = _exp;
10163 #line 2087 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10164  }
10165 #line 2087 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10166  else
10167 #line 2087 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10168  {
10169 #line 2087 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10170  tmpMeta[1] = mmc_mk_box3(4, &NFExpression_ClockKind_INTEGER__CLOCK__desc, _e3, _e4);
10171 #line 2087 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10172  tmpMeta[2] = mmc_mk_box2(32, &NFExpression_CLKCONST__desc, tmpMeta[1]);
10173 #line 2087 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10174  tmpMeta[3] = tmpMeta[2];
10175 #line 2087 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10176  }
10177 #line 2087 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10178  tmpMeta[0] = tmpMeta[3];
10179 #line 10179 OMC_FILE
10180  goto tmp2_done;
10181  }
10182  case 1: {
10183  modelica_boolean tmp6;
10184  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,29,1) == 0) goto tmp2_end;
10185  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
10186  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],2,1) == 0) goto tmp2_end;
10187  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
10188  _e1 = tmpMeta[2];
10189  /* Pattern matching succeeded */
10190 #line 2094 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10191  _e2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1);
10192 #line 10192 OMC_FILE
10193 #line 2095 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10194  tmp6 = (modelica_boolean)referenceEq(_e1, _e2);
10195 #line 2095 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10196  if(tmp6)
10197 #line 2095 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10198  {
10199 #line 2095 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10200  tmpMeta[3] = _exp;
10201 #line 2095 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10202  }
10203 #line 2095 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10204  else
10205 #line 2095 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10206  {
10207 #line 2095 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10208  tmpMeta[1] = mmc_mk_box2(5, &NFExpression_ClockKind_REAL__CLOCK__desc, _e2);
10209 #line 2095 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10210  tmpMeta[2] = mmc_mk_box2(32, &NFExpression_CLKCONST__desc, tmpMeta[1]);
10211 #line 2095 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10212  tmpMeta[3] = tmpMeta[2];
10213 #line 2095 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10214  }
10215 #line 2095 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10216  tmpMeta[0] = tmpMeta[3];
10217 #line 10217 OMC_FILE
10218  goto tmp2_done;
10219  }
10220  case 2: {
10221  modelica_boolean tmp7;
10222  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,29,1) == 0) goto tmp2_end;
10223  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
10224  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],3,2) == 0) goto tmp2_end;
10225  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
10226  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
10227  _e1 = tmpMeta[2];
10228  _e2 = tmpMeta[3];
10229  /* Pattern matching succeeded */
10230 #line 2102 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10231  _e3 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1);
10232 #line 10232 OMC_FILE
10233 
10234 #line 2103 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10235  _e4 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2);
10236 #line 10236 OMC_FILE
10237 #line 2104 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10238  tmp7 = (modelica_boolean)(referenceEq(_e1, _e3) && referenceEq(_e2, _e4));
10239 #line 2104 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10240  if(tmp7)
10241 #line 2104 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10242  {
10243 #line 2104 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10244  tmpMeta[3] = _exp;
10245 #line 2104 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10246  }
10247 #line 2104 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10248  else
10249 #line 2104 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10250  {
10251 #line 2104 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10252  tmpMeta[1] = mmc_mk_box3(6, &NFExpression_ClockKind_BOOLEAN__CLOCK__desc, _e3, _e4);
10253 #line 2104 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10254  tmpMeta[2] = mmc_mk_box2(32, &NFExpression_CLKCONST__desc, tmpMeta[1]);
10255 #line 2104 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10256  tmpMeta[3] = tmpMeta[2];
10257 #line 2104 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10258  }
10259 #line 2104 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10260  tmpMeta[0] = tmpMeta[3];
10261 #line 10261 OMC_FILE
10262  goto tmp2_done;
10263  }
10264  case 3: {
10265  modelica_boolean tmp8;
10266  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,29,1) == 0) goto tmp2_end;
10267  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
10268  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],4,2) == 0) goto tmp2_end;
10269  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
10270  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
10271  _e1 = tmpMeta[2];
10272  _e2 = tmpMeta[3];
10273  /* Pattern matching succeeded */
10274 #line 2111 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10275  _e3 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e1) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e1);
10276 #line 10276 OMC_FILE
10277 
10278 #line 2112 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10279  _e4 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2);
10280 #line 10280 OMC_FILE
10281 #line 2113 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10282  tmp8 = (modelica_boolean)(referenceEq(_e1, _e3) && referenceEq(_e2, _e4));
10283 #line 2113 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10284  if(tmp8)
10285 #line 2113 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10286  {
10287 #line 2113 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10288  tmpMeta[3] = _exp;
10289 #line 2113 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10290  }
10291 #line 2113 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10292  else
10293 #line 2113 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10294  {
10295 #line 2113 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10296  tmpMeta[1] = mmc_mk_box3(7, &NFExpression_ClockKind_SOLVER__CLOCK__desc, _e3, _e4);
10297 #line 2113 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10298  tmpMeta[2] = mmc_mk_box2(32, &NFExpression_CLKCONST__desc, tmpMeta[1]);
10299 #line 2113 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10300  tmpMeta[3] = tmpMeta[2];
10301 #line 2113 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10302  }
10303 #line 2113 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10304  tmpMeta[0] = tmpMeta[3];
10305 #line 10305 OMC_FILE
10306  goto tmp2_done;
10307  }
10308  case 4: {
10309  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,5,2) == 0) goto tmp2_end;
10310 
10311  /* Pattern matching succeeded */
10312 #line 2118 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10313  tmpMeta[1] = mmc_mk_box3(8, &NFExpression_CREF__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), omc_NFExpression_mapCrefShallow(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), ((modelica_fnptr) _func)));
10314 #line 2118 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10315  tmpMeta[0] = tmpMeta[1];
10316 #line 10316 OMC_FILE
10317  goto tmp2_done;
10318  }
10319  case 5: {
10320  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,7,3) == 0) goto tmp2_end;
10321 
10322  /* Pattern matching succeeded */
10323 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10324  {
10325 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10326  modelica_metatype _$tmpVar25;
10327 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10328  modelica_metatype* tmp9;
10329 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10330  modelica_metatype _$tmpVar24;
10331 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10332  int tmp10;
10333 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10334  modelica_metatype e_loopVar = 0;
10335 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10336  modelica_metatype _e;
10337 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10338  e_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
10339 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10340  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
10341 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10342  _$tmpVar25 = tmpMeta[2]; /* defaultValue */
10343 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10344  tmp9 = &_$tmpVar25;
10345 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10346  while(1) {
10347 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10348  tmp10 = 1;
10349 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10350  if (!listEmpty(e_loopVar)) {
10351 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10352  _e = MMC_CAR(e_loopVar);
10353 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10354  e_loopVar = MMC_CDR(e_loopVar);
10355 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10356  tmp10--;
10357 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10358  }
10359 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10360  if (tmp10 == 0) {
10361 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10362  _$tmpVar24 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e);
10363 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10364  *tmp9 = mmc_mk_cons(_$tmpVar24,0);
10365 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10366  tmp9 = &MMC_CDR(*tmp9);
10367 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10368  } else if (tmp10 == 1) {
10369 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10370  break;
10371 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10372  } else {
10373 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10374  goto goto_1;
10375 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10376  }
10377 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10378  }
10379 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10380  *tmp9 = mmc_mk_nil();
10381 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10382  tmpMeta[1] = _$tmpVar25;
10383 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10384  }
10385 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10386  tmpMeta[3] = mmc_mk_box4(10, &NFExpression_ARRAY__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), tmpMeta[1], (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
10387 #line 2119 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10388  tmpMeta[0] = tmpMeta[3];
10389 #line 10389 OMC_FILE
10390  goto tmp2_done;
10391  }
10392  case 6: {
10393  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,8,1) == 0) goto tmp2_end;
10394 
10395  /* Pattern matching succeeded */
10396 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10397  {
10398 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10399  modelica_metatype _$tmpVar29;
10400 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10401  modelica_metatype* tmp11;
10402 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10403  modelica_metatype _$tmpVar28;
10404 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10405  int tmp14;
10406 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10407  modelica_metatype row_loopVar = 0;
10408 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10410 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10411  row_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)));
10412 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10413  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
10414 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10415  _$tmpVar29 = tmpMeta[2]; /* defaultValue */
10416 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10417  tmp11 = &_$tmpVar29;
10418 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10419  while(1) {
10420 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10421  tmp14 = 1;
10422 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10423  if (!listEmpty(row_loopVar)) {
10424 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10425  _row = MMC_CAR(row_loopVar);
10426 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10427  row_loopVar = MMC_CDR(row_loopVar);
10428 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10429  tmp14--;
10430 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10431  }
10432 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10433  if (tmp14 == 0) {
10434 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10435  {
10436 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10437  modelica_metatype _$tmpVar27;
10438 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10439  modelica_metatype* tmp12;
10440 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10441  modelica_metatype _$tmpVar26;
10442 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10443  int tmp13;
10444 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10445  modelica_metatype e_loopVar = 0;
10446 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10447  modelica_metatype _e;
10448 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10449  e_loopVar = _row;
10450 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10451  tmpMeta[4] = MMC_REFSTRUCTLIT(mmc_nil);
10452 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10453  _$tmpVar27 = tmpMeta[4]; /* defaultValue */
10454 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10455  tmp12 = &_$tmpVar27;
10456 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10457  while(1) {
10458 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10459  tmp13 = 1;
10460 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10461  if (!listEmpty(e_loopVar)) {
10462 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10463  _e = MMC_CAR(e_loopVar);
10464 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10465  e_loopVar = MMC_CDR(e_loopVar);
10466 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10467  tmp13--;
10468 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10469  }
10470 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10471  if (tmp13 == 0) {
10472 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10473  _$tmpVar26 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e);
10474 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10475  *tmp12 = mmc_mk_cons(_$tmpVar26,0);
10476 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10477  tmp12 = &MMC_CDR(*tmp12);
10478 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10479  } else if (tmp13 == 1) {
10480 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10481  break;
10482 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10483  } else {
10484 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10485  goto goto_1;
10486 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10487  }
10488 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10489  }
10490 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10491  *tmp12 = mmc_mk_nil();
10492 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10493  tmpMeta[3] = _$tmpVar27;
10494 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10495  }
10496 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10497  _$tmpVar28 = tmpMeta[3];
10498 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10499  *tmp11 = mmc_mk_cons(_$tmpVar28,0);
10500 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10501  tmp11 = &MMC_CDR(*tmp11);
10502 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10503  } else if (tmp14 == 1) {
10504 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10505  break;
10506 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10507  } else {
10508 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10509  goto goto_1;
10510 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10511  }
10512 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10513  }
10514 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10515  *tmp11 = mmc_mk_nil();
10516 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10517  tmpMeta[1] = _$tmpVar29;
10518 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10519  }
10520 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10521  tmpMeta[5] = mmc_mk_box2(11, &NFExpression_MATRIX__desc, tmpMeta[1]);
10522 #line 2120 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10523  tmpMeta[0] = tmpMeta[5];
10524 #line 10524 OMC_FILE
10525  goto tmp2_done;
10526  }
10527  case 7: {
10528  modelica_boolean tmp15;
10529  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,9,4) == 0) goto tmp2_end;
10530  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 4));
10531  if (optionNone(tmpMeta[1])) goto tmp2_end;
10532  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
10533 
10534  _e2 = tmpMeta[2];
10535  /* Pattern matching succeeded */
10536 #line 2124 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10537  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
10538 #line 10538 OMC_FILE
10539 
10540 #line 2125 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10541  _e4 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2);
10542 #line 10542 OMC_FILE
10543 
10544 #line 2126 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10545  _e3 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))));
10546 #line 10546 OMC_FILE
10547 #line 2127 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10548  tmp15 = (modelica_boolean)((referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e1) && referenceEq(_e2, _e4)) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))), _e3));
10549 #line 2127 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10550  if(tmp15)
10551 #line 2127 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10552  {
10553 #line 2127 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10554  tmpMeta[2] = _exp;
10555 #line 2127 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10556  }
10557 #line 2127 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10558  else
10559 #line 2127 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10560  {
10561 #line 2127 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10562  tmpMeta[1] = mmc_mk_box5(12, &NFExpression_RANGE__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1, mmc_mk_some(_e4), _e3);
10563 #line 2127 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10564  tmpMeta[2] = tmpMeta[1];
10565 #line 2127 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10566  }
10567 #line 2127 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10568  tmpMeta[0] = tmpMeta[2];
10569 #line 10569 OMC_FILE
10570  goto tmp2_done;
10571  }
10572  case 8: {
10573  modelica_boolean tmp16;
10574  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,9,4) == 0) goto tmp2_end;
10575 
10576  /* Pattern matching succeeded */
10577 #line 2133 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10578  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
10579 #line 10579 OMC_FILE
10580 
10581 #line 2134 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10582  _e3 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))));
10583 #line 10583 OMC_FILE
10584 #line 2135 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10585  tmp16 = (modelica_boolean)(referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e1) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))), _e3));
10586 #line 2135 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10587  if(tmp16)
10588 #line 2135 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10589  {
10590 #line 2135 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10591  tmpMeta[2] = _exp;
10592 #line 2135 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10593  }
10594 #line 2135 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10595  else
10596 #line 2135 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10597  {
10598 #line 2135 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10599  tmpMeta[1] = mmc_mk_box5(12, &NFExpression_RANGE__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1, mmc_mk_none(), _e3);
10600 #line 2135 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10601  tmpMeta[2] = tmpMeta[1];
10602 #line 2135 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10603  }
10604 #line 2135 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10605  tmpMeta[0] = tmpMeta[2];
10606 #line 10606 OMC_FILE
10607  goto tmp2_done;
10608  }
10609  case 9: {
10610  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,10,2) == 0) goto tmp2_end;
10611 
10612  /* Pattern matching succeeded */
10613 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10614  {
10615 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10616  modelica_metatype _$tmpVar31;
10617 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10618  modelica_metatype* tmp17;
10619 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10620  modelica_metatype _$tmpVar30;
10621 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10622  int tmp18;
10623 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10624  modelica_metatype e_loopVar = 0;
10625 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10626  modelica_metatype _e;
10627 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10628  e_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
10629 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10630  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
10631 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10632  _$tmpVar31 = tmpMeta[2]; /* defaultValue */
10633 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10634  tmp17 = &_$tmpVar31;
10635 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10636  while(1) {
10637 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10638  tmp18 = 1;
10639 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10640  if (!listEmpty(e_loopVar)) {
10641 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10642  _e = MMC_CAR(e_loopVar);
10643 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10644  e_loopVar = MMC_CDR(e_loopVar);
10645 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10646  tmp18--;
10647 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10648  }
10649 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10650  if (tmp18 == 0) {
10651 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10652  _$tmpVar30 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e);
10653 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10654  *tmp17 = mmc_mk_cons(_$tmpVar30,0);
10655 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10656  tmp17 = &MMC_CDR(*tmp17);
10657 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10658  } else if (tmp18 == 1) {
10659 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10660  break;
10661 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10662  } else {
10663 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10664  goto goto_1;
10665 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10666  }
10667 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10668  }
10669 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10670  *tmp17 = mmc_mk_nil();
10671 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10672  tmpMeta[1] = _$tmpVar31;
10673 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10674  }
10675 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10676  tmpMeta[3] = mmc_mk_box3(13, &NFExpression_TUPLE__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), tmpMeta[1]);
10677 #line 2139 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10678  tmpMeta[0] = tmpMeta[3];
10679 #line 10679 OMC_FILE
10680  goto tmp2_done;
10681  }
10682  case 10: {
10683  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,11,3) == 0) goto tmp2_end;
10684 
10685  /* Pattern matching succeeded */
10686 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10687  {
10688 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10689  modelica_metatype _$tmpVar33;
10690 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10691  modelica_metatype* tmp19;
10692 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10693  modelica_metatype _$tmpVar32;
10694 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10695  int tmp20;
10696 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10697  modelica_metatype e_loopVar = 0;
10698 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10699  modelica_metatype _e;
10700 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10701  e_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4)));
10702 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10703  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
10704 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10705  _$tmpVar33 = tmpMeta[2]; /* defaultValue */
10706 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10707  tmp19 = &_$tmpVar33;
10708 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10709  while(1) {
10710 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10711  tmp20 = 1;
10712 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10713  if (!listEmpty(e_loopVar)) {
10714 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10715  _e = MMC_CAR(e_loopVar);
10716 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10717  e_loopVar = MMC_CDR(e_loopVar);
10718 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10719  tmp20--;
10720 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10721  }
10722 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10723  if (tmp20 == 0) {
10724 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10725  _$tmpVar32 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e);
10726 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10727  *tmp19 = mmc_mk_cons(_$tmpVar32,0);
10728 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10729  tmp19 = &MMC_CDR(*tmp19);
10730 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10731  } else if (tmp20 == 1) {
10732 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10733  break;
10734 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10735  } else {
10736 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10737  goto goto_1;
10738 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10739  }
10740 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10741  }
10742 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10743  *tmp19 = mmc_mk_nil();
10744 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10745  tmpMeta[1] = _$tmpVar33;
10746 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10747  }
10748 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10749  tmpMeta[3] = mmc_mk_box4(14, &NFExpression_RECORD__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), tmpMeta[1]);
10750 #line 2142 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10751  tmpMeta[0] = tmpMeta[3];
10752 #line 10752 OMC_FILE
10753  goto tmp2_done;
10754  }
10755  case 11: {
10756  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,12,1) == 0) goto tmp2_end;
10757 
10758  /* Pattern matching succeeded */
10759 #line 2144 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10760  tmpMeta[1] = mmc_mk_box2(15, &NFExpression_CALL__desc, omc_NFExpression_mapCallShallow(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), ((modelica_fnptr) _func)));
10761 #line 2144 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10762  tmpMeta[0] = tmpMeta[1];
10763 #line 10763 OMC_FILE
10764  goto tmp2_done;
10765  }
10766  case 12: {
10767  modelica_boolean tmp21;
10768  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,13,2) == 0) goto tmp2_end;
10769  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
10770  if (optionNone(tmpMeta[1])) goto tmp2_end;
10771  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 1));
10772  _e2 = tmpMeta[2];
10773  /* Pattern matching succeeded */
10774 #line 2148 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10775  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
10776 #line 10776 OMC_FILE
10777 
10778 #line 2149 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10779  _e3 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e2) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e2);
10780 #line 10780 OMC_FILE
10781 #line 2150 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10782  tmp21 = (modelica_boolean)(referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1) && referenceEq(_e2, _e3));
10783 #line 2150 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10784  if(tmp21)
10785 #line 2150 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10786  {
10787 #line 2150 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10788  tmpMeta[2] = _exp;
10789 #line 2150 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10790  }
10791 #line 2150 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10792  else
10793 #line 2150 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10794  {
10795 #line 2150 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10796  tmpMeta[1] = mmc_mk_box3(16, &NFExpression_SIZE__desc, _e1, mmc_mk_some(_e3));
10797 #line 2150 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10798  tmpMeta[2] = tmpMeta[1];
10799 #line 2150 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10800  }
10801 #line 2150 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10802  tmpMeta[0] = tmpMeta[2];
10803 #line 10803 OMC_FILE
10804  goto tmp2_done;
10805  }
10806  case 13: {
10807  modelica_boolean tmp22;
10808  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,13,2) == 0) goto tmp2_end;
10809 
10810  /* Pattern matching succeeded */
10811 #line 2155 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10812  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
10813 #line 10813 OMC_FILE
10814 #line 2156 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10815  tmp22 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
10816 #line 2156 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10817  if(tmp22)
10818 #line 2156 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10819  {
10820 #line 2156 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10821  tmpMeta[2] = _exp;
10822 #line 2156 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10823  }
10824 #line 2156 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10825  else
10826 #line 2156 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10827  {
10828 #line 2156 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10829  tmpMeta[1] = mmc_mk_box3(16, &NFExpression_SIZE__desc, _e1, mmc_mk_none());
10830 #line 2156 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10831  tmpMeta[2] = tmpMeta[1];
10832 #line 2156 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10833  }
10834 #line 2156 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10835  tmpMeta[0] = tmpMeta[2];
10836 #line 10836 OMC_FILE
10837  goto tmp2_done;
10838  }
10839  case 14: {
10840  modelica_boolean tmp23;
10841  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,15,3) == 0) goto tmp2_end;
10842 
10843  /* Pattern matching succeeded */
10844 #line 2161 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10845  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
10846 #line 10846 OMC_FILE
10847 
10848 #line 2162 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10849  _e2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
10850 #line 10850 OMC_FILE
10851 #line 2163 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10852  tmp23 = (modelica_boolean)(referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _e2));
10853 #line 2163 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10854  if(tmp23)
10855 #line 2163 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10856  {
10857 #line 2163 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10858  tmpMeta[2] = _exp;
10859 #line 2163 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10860  }
10861 #line 2163 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10862  else
10863 #line 2163 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10864  {
10865 #line 2163 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10866  tmpMeta[1] = mmc_mk_box4(18, &NFExpression_BINARY__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e2);
10867 #line 2163 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10868  tmpMeta[2] = tmpMeta[1];
10869 #line 2163 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10870  }
10871 #line 2163 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10872  tmpMeta[0] = tmpMeta[2];
10873 #line 10873 OMC_FILE
10874  goto tmp2_done;
10875  }
10876  case 15: {
10877  modelica_boolean tmp24;
10878  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,16,2) == 0) goto tmp2_end;
10879 
10880  /* Pattern matching succeeded */
10881 #line 2169 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10882  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
10883 #line 10883 OMC_FILE
10884 #line 2170 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10885  tmp24 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e1);
10886 #line 2170 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10887  if(tmp24)
10888 #line 2170 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10889  {
10890 #line 2170 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10891  tmpMeta[2] = _exp;
10892 #line 2170 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10893  }
10894 #line 2170 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10895  else
10896 #line 2170 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10897  {
10898 #line 2170 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10899  tmpMeta[1] = mmc_mk_box3(19, &NFExpression_UNARY__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
10900 #line 2170 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10901  tmpMeta[2] = tmpMeta[1];
10902 #line 2170 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10903  }
10904 #line 2170 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10905  tmpMeta[0] = tmpMeta[2];
10906 #line 10906 OMC_FILE
10907  goto tmp2_done;
10908  }
10909  case 16: {
10910  modelica_boolean tmp25;
10911  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,17,3) == 0) goto tmp2_end;
10912 
10913  /* Pattern matching succeeded */
10914 #line 2175 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10915  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
10916 #line 10916 OMC_FILE
10917 
10918 #line 2176 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10919  _e2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
10920 #line 10920 OMC_FILE
10921 #line 2177 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10922  tmp25 = (modelica_boolean)(referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _e2));
10923 #line 2177 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10924  if(tmp25)
10925 #line 2177 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10926  {
10927 #line 2177 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10928  tmpMeta[2] = _exp;
10929 #line 2177 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10930  }
10931 #line 2177 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10932  else
10933 #line 2177 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10934  {
10935 #line 2177 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10936  tmpMeta[1] = mmc_mk_box4(20, &NFExpression_LBINARY__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e2);
10937 #line 2177 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10938  tmpMeta[2] = tmpMeta[1];
10939 #line 2177 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10940  }
10941 #line 2177 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10942  tmpMeta[0] = tmpMeta[2];
10943 #line 10943 OMC_FILE
10944  goto tmp2_done;
10945  }
10946  case 17: {
10947  modelica_boolean tmp26;
10948  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,18,2) == 0) goto tmp2_end;
10949 
10950  /* Pattern matching succeeded */
10951 #line 2183 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10952  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
10953 #line 10953 OMC_FILE
10954 #line 2184 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10955  tmp26 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e1);
10956 #line 2184 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10957  if(tmp26)
10958 #line 2184 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10959  {
10960 #line 2184 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10961  tmpMeta[2] = _exp;
10962 #line 2184 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10963  }
10964 #line 2184 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10965  else
10966 #line 2184 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10967  {
10968 #line 2184 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10969  tmpMeta[1] = mmc_mk_box3(21, &NFExpression_LUNARY__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
10970 #line 2184 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10971  tmpMeta[2] = tmpMeta[1];
10972 #line 2184 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10973  }
10974 #line 2184 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10975  tmpMeta[0] = tmpMeta[2];
10976 #line 10976 OMC_FILE
10977  goto tmp2_done;
10978  }
10979  case 18: {
10980  modelica_boolean tmp27;
10981  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,19,3) == 0) goto tmp2_end;
10982 
10983  /* Pattern matching succeeded */
10984 #line 2189 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10985  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
10986 #line 10986 OMC_FILE
10987 
10988 #line 2190 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10989  _e2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
10990 #line 10990 OMC_FILE
10991 #line 2191 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10992  tmp27 = (modelica_boolean)(referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _e2));
10993 #line 2191 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10994  if(tmp27)
10995 #line 2191 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10996  {
10997 #line 2191 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
10998  tmpMeta[2] = _exp;
10999 #line 2191 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11000  }
11001 #line 2191 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11002  else
11003 #line 2191 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11004  {
11005 #line 2191 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11006  tmpMeta[1] = mmc_mk_box4(22, &NFExpression_RELATION__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e2);
11007 #line 2191 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11008  tmpMeta[2] = tmpMeta[1];
11009 #line 2191 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11010  }
11011 #line 2191 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11012  tmpMeta[0] = tmpMeta[2];
11013 #line 11013 OMC_FILE
11014  goto tmp2_done;
11015  }
11016  case 19: {
11017  modelica_boolean tmp28;
11018  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,20,3) == 0) goto tmp2_end;
11019 
11020  /* Pattern matching succeeded */
11021 #line 2197 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11022  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
11023 #line 11023 OMC_FILE
11024 
11025 #line 2198 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11026  _e2 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
11027 #line 11027 OMC_FILE
11028 
11029 #line 2199 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11030  _e3 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
11031 #line 11031 OMC_FILE
11032 #line 2200 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11033  tmp28 = (modelica_boolean)((referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e2)) && referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _e3));
11034 #line 2200 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11035  if(tmp28)
11036 #line 2200 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11037  {
11038 #line 2200 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11039  tmpMeta[2] = _exp;
11040 #line 2200 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11041  }
11042 #line 2200 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11043  else
11044 #line 2200 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11045  {
11046 #line 2200 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11047  tmpMeta[1] = mmc_mk_box4(23, &NFExpression_IF__desc, _e1, _e2, _e3);
11048 #line 2200 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11049  tmpMeta[2] = tmpMeta[1];
11050 #line 2200 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11051  }
11052 #line 2200 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11053  tmpMeta[0] = tmpMeta[2];
11054 #line 11054 OMC_FILE
11055  goto tmp2_done;
11056  }
11057  case 20: {
11058  modelica_boolean tmp29;
11059  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,21,2) == 0) goto tmp2_end;
11060 
11061  /* Pattern matching succeeded */
11062 #line 2206 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11063  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
11064 #line 11064 OMC_FILE
11065 #line 2207 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11066  tmp29 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _e1);
11067 #line 2207 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11068  if(tmp29)
11069 #line 2207 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11070  {
11071 #line 2207 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11072  tmpMeta[2] = _exp;
11073 #line 2207 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11074  }
11075 #line 2207 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11076  else
11077 #line 2207 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11078  {
11079 #line 2207 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11080  tmpMeta[1] = mmc_mk_box3(24, &NFExpression_CAST__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
11081 #line 2207 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11082  tmpMeta[2] = tmpMeta[1];
11083 #line 2207 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11084  }
11085 #line 2207 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11086  tmpMeta[0] = tmpMeta[2];
11087 #line 11087 OMC_FILE
11088  goto tmp2_done;
11089  }
11090  case 21: {
11091  modelica_boolean tmp30;
11092  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,22,2) == 0) goto tmp2_end;
11093 
11094  /* Pattern matching succeeded */
11095 #line 2212 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11096  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
11097 #line 11097 OMC_FILE
11098 #line 2213 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11099  tmp30 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
11100 #line 2213 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11101  if(tmp30)
11102 #line 2213 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11103  {
11104 #line 2213 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11105  tmpMeta[2] = _exp;
11106 #line 2213 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11107  }
11108 #line 2213 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11109  else
11110 #line 2213 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11111  {
11112 #line 2213 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11113  tmpMeta[1] = mmc_mk_box3(25, &NFExpression_UNBOX__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
11114 #line 2213 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11115  tmpMeta[2] = tmpMeta[1];
11116 #line 2213 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11117  }
11118 #line 2213 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11119  tmpMeta[0] = tmpMeta[2];
11120 #line 11120 OMC_FILE
11121  goto tmp2_done;
11122  }
11123  case 22: {
11124  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,23,3) == 0) goto tmp2_end;
11125 
11126  /* Pattern matching succeeded */
11127 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11128  {
11129 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11130  modelica_metatype _$tmpVar35;
11131 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11132  modelica_metatype* tmp31;
11133 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11134  modelica_metatype _$tmpVar34;
11135 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11136  int tmp32;
11137 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11138  modelica_metatype e_loopVar = 0;
11139 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11140  modelica_metatype _e;
11141 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11142  e_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
11143 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11144  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
11145 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11146  _$tmpVar35 = tmpMeta[2]; /* defaultValue */
11147 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11148  tmp31 = &_$tmpVar35;
11149 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11150  while(1) {
11151 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11152  tmp32 = 1;
11153 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11154  if (!listEmpty(e_loopVar)) {
11155 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11156  _e = MMC_CAR(e_loopVar);
11157 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11158  e_loopVar = MMC_CDR(e_loopVar);
11159 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11160  tmp32--;
11161 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11162  }
11163 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11164  if (tmp32 == 0) {
11165 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11166  _$tmpVar34 = omc_NFSubscript_mapShallowExp(threadData, _e, ((modelica_fnptr) _func));
11167 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11168  *tmp31 = mmc_mk_cons(_$tmpVar34,0);
11169 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11170  tmp31 = &MMC_CDR(*tmp31);
11171 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11172  } else if (tmp32 == 1) {
11173 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11174  break;
11175 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11176  } else {
11177 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11178  goto goto_1;
11179 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11180  }
11181 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11182  }
11183 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11184  *tmp31 = mmc_mk_nil();
11185 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11186  tmpMeta[1] = _$tmpVar35;
11187 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11188  }
11189 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11190  tmpMeta[3] = mmc_mk_box4(26, &NFExpression_SUBSCRIPTED__EXP__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))), tmpMeta[1], (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
11191 #line 2217 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11192  tmpMeta[0] = tmpMeta[3];
11193 #line 11193 OMC_FILE
11194  goto tmp2_done;
11195  }
11196  case 23: {
11197  modelica_boolean tmp33;
11198  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,24,3) == 0) goto tmp2_end;
11199 
11200  /* Pattern matching succeeded */
11201 #line 2221 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11202  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
11203 #line 11203 OMC_FILE
11204 #line 2222 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11205  tmp33 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
11206 #line 2222 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11207  if(tmp33)
11208 #line 2222 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11209  {
11210 #line 2222 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11211  tmpMeta[2] = _exp;
11212 #line 2222 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11213  }
11214 #line 2222 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11215  else
11216 #line 2222 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11217  {
11218 #line 2222 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11219  tmpMeta[1] = mmc_mk_box4(27, &NFExpression_TUPLE__ELEMENT__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
11220 #line 2222 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11221  tmpMeta[2] = tmpMeta[1];
11222 #line 2222 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11223  }
11224 #line 2222 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11225  tmpMeta[0] = tmpMeta[2];
11226 #line 11226 OMC_FILE
11227  goto tmp2_done;
11228  }
11229  case 24: {
11230  modelica_boolean tmp34;
11231  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,25,4) == 0) goto tmp2_end;
11232 
11233  /* Pattern matching succeeded */
11234 #line 2227 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11235  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
11236 #line 11236 OMC_FILE
11237 #line 2228 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11238  tmp34 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
11239 #line 2228 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11240  if(tmp34)
11241 #line 2228 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11242  {
11243 #line 2228 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11244  tmpMeta[2] = _exp;
11245 #line 2228 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11246  }
11247 #line 2228 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11248  else
11249 #line 2228 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11250  {
11251 #line 2228 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11252  tmpMeta[1] = mmc_mk_box5(28, &NFExpression_RECORD__ELEMENT__desc, _e1, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))));
11253 #line 2228 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11254  tmpMeta[2] = tmpMeta[1];
11255 #line 2228 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11256  }
11257 #line 2228 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11258  tmpMeta[0] = tmpMeta[2];
11259 #line 11259 OMC_FILE
11260  goto tmp2_done;
11261  }
11262  case 25: {
11263  modelica_boolean tmp35;
11264  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,26,1) == 0) goto tmp2_end;
11265 
11266  /* Pattern matching succeeded */
11267 #line 2233 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11268  _e1 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
11269 #line 11269 OMC_FILE
11270 #line 2234 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11271  tmp35 = (modelica_boolean)referenceEq((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _e1);
11272 #line 2234 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11273  if(tmp35)
11274 #line 2234 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11275  {
11276 #line 2234 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11277  tmpMeta[2] = _exp;
11278 #line 2234 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11279  }
11280 #line 2234 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11281  else
11282 #line 2234 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11283  {
11284 #line 2234 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11285  tmpMeta[1] = mmc_mk_box2(29, &NFExpression_BOX__desc, _e1);
11286 #line 2234 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11287  tmpMeta[2] = tmpMeta[1];
11288 #line 2234 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11289  }
11290 #line 2234 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11291  tmpMeta[0] = tmpMeta[2];
11292 #line 11292 OMC_FILE
11293  goto tmp2_done;
11294  }
11295  case 26: {
11296  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,27,1) == 0) goto tmp2_end;
11297 
11298  /* Pattern matching succeeded */
11299 #line 2239 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11300  omc_Mutable_update(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), omc_Mutable_access(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))))) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, omc_Mutable_access(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))))));
11301 #line 11301 OMC_FILE
11302 #line 2240 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11303  tmpMeta[0] = _exp;
11304 #line 11304 OMC_FILE
11305  goto tmp2_done;
11306  }
11307  case 27: {
11308  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,30,4) == 0) goto tmp2_end;
11309 
11310  /* Pattern matching succeeded */
11311 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11312  {
11313 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11314  modelica_metatype _$tmpVar37;
11315 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11316  modelica_metatype* tmp36;
11317 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11318  modelica_metatype _$tmpVar36;
11319 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11320  int tmp37;
11321 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11322  modelica_metatype e_loopVar = 0;
11323 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11324  modelica_metatype _e;
11325 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11326  e_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
11327 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11328  tmpMeta[3] = MMC_REFSTRUCTLIT(mmc_nil);
11329 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11330  _$tmpVar37 = tmpMeta[3]; /* defaultValue */
11331 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11332  tmp36 = &_$tmpVar37;
11333 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11334  while(1) {
11335 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11336  tmp37 = 1;
11337 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11338  if (!listEmpty(e_loopVar)) {
11339 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11340  _e = MMC_CAR(e_loopVar);
11341 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11342  e_loopVar = MMC_CDR(e_loopVar);
11343 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11344  tmp37--;
11345 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11346  }
11347 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11348  if (tmp37 == 0) {
11349 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11350  _$tmpVar36 = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))) ? ((modelica_metatype(*)(threadData_t*, modelica_metatype, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 2))), _e) : ((modelica_metatype(*)(threadData_t*, modelica_metatype)) (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_func), 1)))) (threadData, _e);
11351 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11352  *tmp36 = mmc_mk_cons(_$tmpVar36,0);
11353 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11354  tmp36 = &MMC_CDR(*tmp36);
11355 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11356  } else if (tmp37 == 1) {
11357 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11358  break;
11359 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11360  } else {
11361 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11362  goto goto_1;
11363 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11364  }
11365 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11366  }
11367 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11368  *tmp36 = mmc_mk_nil();
11369 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11370  tmpMeta[2] = _$tmpVar37;
11371 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11372  }
11373 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11374  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(6));
11375 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11376  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_exp), 6*sizeof(modelica_metatype));
11377 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11378  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[3] = tmpMeta[2];
11379 #line 2245 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11380  _exp = tmpMeta[1];
11381 #line 11381 OMC_FILE
11382 #line 2246 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11383  tmpMeta[0] = _exp;
11384 #line 11384 OMC_FILE
11385  goto tmp2_done;
11386  }
11387  case 28: {
11388 
11389  /* Pattern matching succeeded */
11390 #line 2249 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
11391  tmpMeta[0] = _exp;
11392 #line 11392 OMC_FILE
11393  goto tmp2_done;
11394  }
11395  }
11396  goto tmp2_end;
11397  tmp2_end: ;
11398  }
11399  goto goto_1;
11400  goto_1:;
11401  MMC_THROW_INTERNAL();
11402  goto tmp2_done;
11403  tmp2_done:;
11404  }
11405  }
11406  _outExp = tmpMeta[0];
11407  _return: OMC_LABEL_UNUSED
11408  return _outExp;
11409 }
struct record_description NFExpression_CAST__desc
struct record_description NFExpression_UNBOX__desc
void omc_Mutable_update(threadData_t *threadData, modelica_metatype _mutable, modelica_metatype _data)
Definition: Mutable.c:31
struct record_description NFExpression_TUPLE__ELEMENT__desc
struct record_description NFExpression_SUBSCRIPTED__EXP__desc
struct record_description NFExpression_RECORD__desc
struct record_description NFExpression_CALL__desc
signed char modelica_boolean
struct record_description NFExpression_TUPLE__desc
DLLExport modelica_metatype omc_NFExpression_mapCallShallow(threadData_t *threadData, modelica_metatype _call, modelica_fnptr _func)
modelica_metatype omc_Mutable_access(threadData_t *threadData, modelica_metatype _mutable)
Definition: Mutable.c:13
float mmc_switch_type
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
struct record_description NFExpression_ARRAY__desc
void * modelica_fnptr
struct record_description NFExpression_RANGE__desc
DLLExport modelica_metatype omc_NFExpression_mapCrefShallow(threadData_t *threadData, modelica_metatype _cref, modelica_fnptr _func)
struct record_description NFExpression_CLKCONST__desc
DLLExport modelica_metatype omc_NFSubscript_mapShallowExp(threadData_t *threadData, modelica_metatype _subscript, modelica_fnptr _func)
Definition: NFSubscript.c:1796
struct record_description NFExpression_RELATION__desc
struct record_description NFExpression_IF__desc
void * modelica_metatype
struct record_description NFExpression_ClockKind_BOOLEAN__CLOCK__desc
struct record_description NFExpression_UNARY__desc
struct record_description NFExpression_SIZE__desc
struct record_description NFExpression_LBINARY__desc
struct record_description NFExpression_MATRIX__desc
struct record_description NFExpression_ClockKind_REAL__CLOCK__desc
struct record_description NFExpression_ClockKind_INTEGER__CLOCK__desc
struct record_description NFExpression_ClockKind_SOLVER__CLOCK__desc
struct record_description NFExpression_BOX__desc
struct record_description NFExpression_RECORD__ELEMENT__desc
struct record_description NFExpression_BINARY__desc
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
struct record_description NFExpression_LUNARY__desc
struct record_description NFExpression_CREF__desc

◆ omc_NFExpression_negate()

DLLExport modelica_metatype omc_NFExpression_negate ( threadData_t threadData,
modelica_metatype $in_exp 
)

Definition at line 2782 of file NFExpression.c.

2783 {
2784  modelica_metatype _exp = NULL;
2785  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
2786  MMC_SO();
2787  _tailrecursive: OMC_LABEL_UNUSED
2788  _exp = _$in_exp;
2789 #line 2789 OMC_FILE
2790  { /* match expression */
2791  modelica_metatype tmp3_1;
2792  tmp3_1 = _exp;
2793  {
2794  int tmp3;
2795  {
2796  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
2797  case 3: {
2798 
2799  /* Pattern matching succeeded */
2800 #line 4174 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2801  tmpMeta[1] = mmc_mk_box2(3, &NFExpression_INTEGER__desc, mmc_mk_integer((-(mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))))))));
2802 #line 4174 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2803  tmpMeta[0] = tmpMeta[1];
2804 #line 2804 OMC_FILE
2805  goto tmp2_done;
2806  }
2807  case 4: {
2808 
2809  /* Pattern matching succeeded */
2810 #line 4175 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2811  tmpMeta[1] = mmc_mk_box2(4, &NFExpression_REAL__desc, mmc_mk_real((-(mmc_unbox_real((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))))))));
2812 #line 4175 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2813  tmpMeta[0] = tmpMeta[1];
2814 #line 2814 OMC_FILE
2815  goto tmp2_done;
2816  }
2817  case 24: {
2818 
2819  /* Pattern matching succeeded */
2820 #line 4176 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2821  tmpMeta[1] = mmc_mk_box3(24, &NFExpression_CAST__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), omc_NFExpression_negate(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))));
2822 #line 4176 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2823  tmpMeta[0] = tmpMeta[1];
2824 #line 2824 OMC_FILE
2825  goto tmp2_done;
2826  }
2827  default:
2828  tmp2_default: OMC_LABEL_UNUSED; {
2829 
2830  /* Pattern matching succeeded */
2831 #line 4177 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2832  tmpMeta[1] = mmc_mk_box3(3, &NFOperator_OPERATOR__desc, omc_NFExpression_typeOf(threadData, _exp), mmc_mk_integer(26));
2833 #line 4177 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2834  tmpMeta[2] = mmc_mk_box3(19, &NFExpression_UNARY__desc, tmpMeta[1], _exp);
2835 #line 4177 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2836  tmpMeta[0] = tmpMeta[2];
2837 #line 2837 OMC_FILE
2838  goto tmp2_done;
2839  }
2840  }
2841  goto tmp2_end;
2842  tmp2_end: ;
2843  }
2844  goto goto_1;
2845  goto_1:;
2846  MMC_THROW_INTERNAL();
2847  goto tmp2_done;
2848  tmp2_done:;
2849  }
2850  }
2851  _exp = tmpMeta[0];
2852  _return: OMC_LABEL_UNUSED
2853  return _exp;
2854 }
struct record_description NFExpression_CAST__desc
DLLExport modelica_metatype omc_NFExpression_typeOf(threadData_t *threadData, modelica_metatype _exp)
DLLExport modelica_metatype omc_NFExpression_negate(threadData_t *threadData, modelica_metatype _ $in_exp)
struct record_description NFExpression_INTEGER__desc
void * modelica_metatype
struct record_description NFOperator_OPERATOR__desc
struct record_description NFExpression_REAL__desc
struct record_description NFExpression_UNARY__desc
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_NFExpression_nthRecordElement()

DLLExport modelica_metatype omc_NFExpression_nthRecordElement ( threadData_t threadData,
modelica_integer  _index,
modelica_metatype  _recordExp 
)

Definition at line 536 of file NFExpression.c.

537 {
538  modelica_metatype _outExp = NULL;
539  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
540  MMC_SO();
541  _tailrecursive: OMC_LABEL_UNUSED
542 #line 542 OMC_FILE
543  { /* match expression */
544  modelica_metatype tmp3_1;
545  tmp3_1 = _recordExp;
546  {
547  modelica_metatype _node = NULL;
548  modelica_metatype _expl = NULL;
549  volatile mmc_switch_type tmp3;
550  int tmp4;
551  tmp3 = 0;
552  for (; tmp3 < 4; tmp3++) {
553  switch (MMC_SWITCH_CAST(tmp3)) {
554  case 0: {
555  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,11,3) == 0) goto tmp2_end;
556 
557  /* Pattern matching succeeded */
558 #line 4650 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
559  tmpMeta[0] = listGet((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_recordExp), 4))), (modelica_integer)_index);
560 #line 560 OMC_FILE
561  goto tmp2_done;
562  }
563  case 1: {
564  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,7,3) == 0) goto tmp2_end;
565  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
566  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],7,2) == 0) goto tmp2_end;
567  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
568  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],11,2) == 0) goto tmp2_end;
569  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
570  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
571  if (!listEmpty(tmpMeta[4])) goto tmp2_end;
572 
573  _node = tmpMeta[3];
574  /* Pattern matching succeeded */
575 #line 4653 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
577 #line 577 OMC_FILE
578  goto tmp2_done;
579  }
580  case 2: {
581  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,7,3) == 0) goto tmp2_end;
582 
583  /* Pattern matching succeeded */
584 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
585  {
586 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
587  modelica_metatype _$tmpVar3;
588 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
589  modelica_metatype* tmp5;
590 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
591  modelica_metatype _$tmpVar2;
592 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
593  int tmp6;
594 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
595  modelica_metatype e_loopVar = 0;
596 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
598 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
599  e_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_recordExp), 3)));
600 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
601  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
602 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
603  _$tmpVar3 = tmpMeta[2]; /* defaultValue */
604 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
605  tmp5 = &_$tmpVar3;
606 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
607  while(1) {
608 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
609  tmp6 = 1;
610 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
611  if (!listEmpty(e_loopVar)) {
612 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
613  _e = MMC_CAR(e_loopVar);
614 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
615  e_loopVar = MMC_CDR(e_loopVar);
616 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
617  tmp6--;
618 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
619  }
620 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
621  if (tmp6 == 0) {
622 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
623  _$tmpVar2 = omc_NFExpression_nthRecordElement(threadData, (modelica_integer)_index, _e);
624 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
625  *tmp5 = mmc_mk_cons(_$tmpVar2,0);
626 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
627  tmp5 = &MMC_CDR(*tmp5);
628 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
629  } else if (tmp6 == 1) {
630 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
631  break;
632 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
633  } else {
634 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
635  goto goto_1;
636 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
637  }
638 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
639  }
640 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
641  *tmp5 = mmc_mk_nil();
642 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
643  tmpMeta[1] = _$tmpVar3;
644 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
645  }
646 #line 4657 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
647  _expl = tmpMeta[1];
648 #line 648 OMC_FILE
649 #line 4658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
650  tmpMeta[0] = omc_NFExpression_makeArray(threadData, omc_NFType_setArrayElementType(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_recordExp), 2))), omc_NFExpression_typeOf(threadData, listHead(_expl))), _expl, 0);
651 #line 651 OMC_FILE
652  goto tmp2_done;
653  }
654  case 3: {
655 
656  /* Pattern matching succeeded */
657 #line 4663 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
658  /* Pattern-matching assignment */
659 #line 4663 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
660  tmpMeta[1] = omc_NFExpression_typeOf(threadData, _recordExp);
661 #line 4663 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
662  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],11,2) == 0) goto goto_1;
663 #line 4663 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
664  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
665 #line 4663 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
666  _node = tmpMeta[2];
667 #line 667 OMC_FILE
668 
669 #line 4664 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
670  _node = omc_NFClass_Class_nthComponent(threadData, (modelica_integer)_index, omc_NFInstNode_InstNode_getClass(threadData, _node));
671 #line 671 OMC_FILE
672 #line 4665 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
673  tmpMeta[1] = mmc_mk_box5(28, &NFExpression_RECORD__ELEMENT__desc, _recordExp, mmc_mk_integer((modelica_integer)_index), omc_NFInstNode_InstNode_name(threadData, _node), omc_NFInstNode_InstNode_getType(threadData, _node));
674 #line 4665 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
675  tmpMeta[0] = tmpMeta[1];
676 #line 676 OMC_FILE
677  goto tmp2_done;
678  }
679  }
680  goto tmp2_end;
681  tmp2_end: ;
682  }
683  goto goto_1;
684  goto_1:;
685  MMC_THROW_INTERNAL();
686  goto tmp2_done;
687  tmp2_done:;
688  }
689  }
690  _outExp = tmpMeta[0];
691  _return: OMC_LABEL_UNUSED
692  return _outExp;
693 }
DLLExport modelica_metatype omc_NFType_setArrayElementType(threadData_t *threadData, modelica_metatype _arrayTy, modelica_metatype _elementTy)
Definition: NFType.c:2181
DLLExport modelica_metatype omc_NFInstNode_InstNode_getClass(threadData_t *threadData, modelica_metatype _node)
Definition: NFInstNode.c:4014
m_integer modelica_integer
DLLExport modelica_metatype omc_NFExpression_typeOf(threadData_t *threadData, modelica_metatype _exp)
float mmc_switch_type
DLLExport modelica_metatype omc_NFExpression_nthRecordElement(threadData_t *threadData, modelica_integer _index, modelica_metatype _recordExp)
Definition: NFExpression.c:536
DLLExport modelica_metatype omc_NFInstNode_InstNode_getType(threadData_t *threadData, modelica_metatype _node)
Definition: NFInstNode.c:3335
DLLExport modelica_metatype omc_NFClass_Class_nthComponent(threadData_t *threadData, modelica_integer _index, modelica_metatype _cls)
Definition: NFClass.c:1948
DLLExport modelica_metatype omc_NFExpression_makeArray(threadData_t *threadData, modelica_metatype _ty, modelica_metatype _expl, modelica_boolean _literal)
void * modelica_metatype
DLLExport modelica_string omc_NFInstNode_InstNode_name(threadData_t *threadData, modelica_metatype _node)
Definition: NFInstNode.c:4826
struct record_description NFExpression_RECORD__ELEMENT__desc
DLLExport modelica_metatype omc_NFExpression_makeEmptyArray(threadData_t *threadData, modelica_metatype _ty)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_operandString()

DLLExport modelica_string omc_NFExpression_operandString ( threadData_t threadData,
modelica_metatype  _operand,
modelica_metatype  _operator,
modelica_boolean  _lhs 
)

Definition at line 14593 of file NFExpression.c.

14594 {
14595  modelica_string _str = NULL;
14596  modelica_integer _operand_prio;
14597  modelica_integer _operator_prio;
14598  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
14599  MMC_SO();
14600  _tailrecursive: OMC_LABEL_UNUSED
14601 #line 1515 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14602  _str = omc_NFExpression_toString(threadData, _operand);
14603 #line 14603 OMC_FILE
14604 
14605 #line 1517 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14606  _operand_prio = omc_NFExpression_priority(threadData, _operand, _lhs);
14607 #line 14607 OMC_FILE
14608 
14609 #line 1518 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14610  if(((modelica_integer)_operand_prio != ((modelica_integer) 4)))
14611 #line 1518 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14612  {
14613 #line 1519 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14614  _operator_prio = omc_NFExpression_priority(threadData, _operator, _lhs);
14615 #line 14615 OMC_FILE
14616 
14617 #line 1521 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14618  if((((modelica_integer)_operand_prio > (modelica_integer)_operator_prio) || (((!_lhs) && ((modelica_integer)_operand_prio == (modelica_integer)_operator_prio)) && (!omc_NFExpression_isAssociativeExp(threadData, _operand)))))
14619 #line 1521 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14620  {
14621 #line 1523 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14622  tmpMeta[0] = stringAppend(_OMC_LIT48,_str);
14623 #line 1523 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14624  tmpMeta[1] = stringAppend(tmpMeta[0],_OMC_LIT49);
14625 #line 1523 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14626  _str = tmpMeta[1];
14627 #line 14627 OMC_FILE
14628  }
14629  }
14630  _return: OMC_LABEL_UNUSED
14631  return _str;
14632 }
modelica_metatype modelica_string
m_integer modelica_integer
DLLExport modelica_integer omc_NFExpression_priority(threadData_t *threadData, modelica_metatype _exp, modelica_boolean _lhs)
modelica_string stringAppend(modelica_string s1, modelica_string s2)
DLLExport modelica_string omc_NFExpression_toString(threadData_t *threadData, modelica_metatype _exp)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
DLLExport modelica_boolean omc_NFExpression_isAssociativeExp(threadData_t *threadData, modelica_metatype _exp)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_priority()

DLLExport modelica_integer omc_NFExpression_priority ( threadData_t threadData,
modelica_metatype  _exp,
modelica_boolean  _lhs 
)

Definition at line 14487 of file NFExpression.c.

14488 {
14489  modelica_integer _priority;
14490  modelica_integer tmp1 = 0;
14491  MMC_SO();
14492  _tailrecursive: OMC_LABEL_UNUSED
14493 #line 14493 OMC_FILE
14494  { /* match expression */
14495  modelica_metatype tmp4_1;
14496  tmp4_1 = _exp;
14497  {
14498  int tmp4;
14499  {
14500  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
14501  case 18: {
14502 
14503  /* Pattern matching succeeded */
14504 #line 1534 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14505  tmp1 = omc_NFOperator_priority(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _lhs);
14506 #line 14506 OMC_FILE
14507  goto tmp3_done;
14508  }
14509  case 19: {
14510 
14511  /* Pattern matching succeeded */
14512 #line 1535 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14513  tmp1 = ((modelica_integer) 4);
14514 #line 14514 OMC_FILE
14515  goto tmp3_done;
14516  }
14517  case 20: {
14518 
14519  /* Pattern matching succeeded */
14520 #line 1536 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14521  tmp1 = omc_NFOperator_priority(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _lhs);
14522 #line 14522 OMC_FILE
14523  goto tmp3_done;
14524  }
14525  case 21: {
14526 
14527  /* Pattern matching succeeded */
14528 #line 1537 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14529  tmp1 = ((modelica_integer) 7);
14530 #line 14530 OMC_FILE
14531  goto tmp3_done;
14532  }
14533  case 22: {
14534 
14535  /* Pattern matching succeeded */
14536 #line 1538 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14537  tmp1 = ((modelica_integer) 6);
14538 #line 14538 OMC_FILE
14539  goto tmp3_done;
14540  }
14541  case 12: {
14542 
14543  /* Pattern matching succeeded */
14544 #line 1539 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14545  tmp1 = ((modelica_integer) 10);
14546 #line 14546 OMC_FILE
14547  goto tmp3_done;
14548  }
14549  case 23: {
14550 
14551  /* Pattern matching succeeded */
14552 #line 1540 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14553  tmp1 = ((modelica_integer) 11);
14554 #line 14554 OMC_FILE
14555  goto tmp3_done;
14556  }
14557  default:
14558  tmp3_default: OMC_LABEL_UNUSED; {
14559 
14560  /* Pattern matching succeeded */
14561 #line 1541 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14562  tmp1 = ((modelica_integer) 0);
14563 #line 14563 OMC_FILE
14564  goto tmp3_done;
14565  }
14566  }
14567  goto tmp3_end;
14568  tmp3_end: ;
14569  }
14570  goto goto_2;
14571  goto_2:;
14572  MMC_THROW_INTERNAL();
14573  goto tmp3_done;
14574  tmp3_done:;
14575  }
14576  }
14577  _priority = tmp1;
14578  _return: OMC_LABEL_UNUSED
14579  return _priority;
14580 }
m_integer modelica_integer
DLLExport modelica_integer omc_NFOperator_priority(threadData_t *threadData, modelica_metatype _op, modelica_boolean _lhs)
Definition: NFOperator.c:830
void * modelica_metatype
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_promote()

DLLExport modelica_metatype omc_NFExpression_promote ( threadData_t threadData,
modelica_metatype $in_e,
modelica_metatype $in_ty,
modelica_integer  _n,
modelica_metatype out_ty 
)

Definition at line 2049 of file NFExpression.c.

2050 {
2051  modelica_metatype _e = NULL;
2052  modelica_metatype _ty = NULL;
2053  modelica_metatype _dims = NULL;
2054  modelica_metatype _ety = NULL;
2055  modelica_metatype _tys = NULL;
2056  modelica_boolean _is_array;
2057  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
2058  MMC_SO();
2059  _tailrecursive: OMC_LABEL_UNUSED
2060  _e = _$in_e;
2061  _ty = _$in_ty;
2062  tmpMeta[0] = MMC_REFSTRUCTLIT(mmc_nil);
2063  _tys = tmpMeta[0];
2064 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2065  {
2066 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2067  modelica_metatype _$tmpVar11;
2068 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2069  modelica_metatype* tmp1;
2070 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2071  modelica_metatype _$tmpVar10;
2072 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2073  int tmp2;
2074 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2075  modelica_integer tmp3;
2076 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2077  modelica_integer tmp4;
2078 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2079  modelica_integer _i;
2080 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2081  tmp3 = 1 /* Range step-value */;
2082 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2083  tmp4 = ((modelica_integer) -1) + (modelica_integer)_n /* Range stop-value */;
2084 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2085  _i = omc_NFType_dimensionCount(threadData, _ty) /* Range start-value */;
2086 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2087  _i = (omc_NFType_dimensionCount(threadData, _ty) /* Range start-value */)-tmp3;
2088 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2089  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
2090 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2091  _$tmpVar11 = tmpMeta[2]; /* defaultValue */
2092 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2093  tmp1 = &_$tmpVar11;
2094 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2095  while(1) {
2096 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2097  tmp2 = 1;
2098 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2099  if (tmp3 > 0 ? _i+tmp3 <= tmp4 : _i+tmp3 >= tmp4) {
2100 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2101  _i += tmp3;
2102 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2103  tmp2--;
2104 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2105  }
2106 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2107  if (tmp2 == 0) {
2108 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2109  _$tmpVar10 = omc_NFDimension_fromInteger(threadData, ((modelica_integer) 1), 1);
2110 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2111  *tmp1 = mmc_mk_cons(_$tmpVar10,0);
2112 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2113  tmp1 = &MMC_CDR(*tmp1);
2114 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2115  } else if (tmp2 == 1) {
2116 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2117  break;
2118 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2119  } else {
2120 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2121  MMC_THROW_INTERNAL();
2122 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2123  }
2124 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2125  }
2126 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2127  *tmp1 = mmc_mk_nil();
2128 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2129  tmpMeta[1] = _$tmpVar11;
2130 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2131  }
2132 #line 4318 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2133  _dims = tmpMeta[1];
2134 #line 2134 OMC_FILE
2135 
2136 #line 4320 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2137  if((!listEmpty(_dims)))
2138 #line 4320 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2139  {
2140 #line 4322 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2141  _dims = listAppend(omc_NFType_arrayDims(threadData, _ty), _dims);
2142 #line 2142 OMC_FILE
2143 
2144 #line 4325 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2145  _is_array = omc_NFType_isArray(threadData, _ty);
2146 #line 2146 OMC_FILE
2147 
2148 #line 4326 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2149  _ety = omc_NFType_arrayElementType(threadData, _ty);
2150 #line 2150 OMC_FILE
2151 
2152 #line 4327 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2153  _ty = omc_NFType_liftArrayLeftList(threadData, _ety, _dims);
2154 #line 2154 OMC_FILE
2155 
2156 #line 4331 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2157  while(1)
2158 #line 4331 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2159  {
2160 #line 4331 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2161  if(!(!listEmpty(_dims))) break;
2162 #line 4332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2163  tmpMeta[1] = mmc_mk_cons(omc_NFType_liftArrayLeftList(threadData, _ety, _dims), _tys);
2164 #line 4332 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2165  _tys = tmpMeta[1];
2166 #line 2166 OMC_FILE
2167 
2168 #line 4333 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2169  _dims = listRest(_dims);
2170 #line 2170 OMC_FILE
2171  }
2172 
2173 #line 4336 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2174  _e = omc_NFExpression_promote2(threadData, _e, _is_array, (modelica_integer)_n, listReverse(_tys));
2175 #line 2175 OMC_FILE
2176  }
2177  _return: OMC_LABEL_UNUSED
2178  if (out_ty) { *out_ty = _ty; }
2179  return _e;
2180 }
DLLExport modelica_metatype omc_NFExpression_promote2(threadData_t *threadData, modelica_metatype _exp, modelica_boolean _isArray, modelica_integer _dims, modelica_metatype _types)
DLLExport modelica_integer omc_NFType_dimensionCount(threadData_t *threadData, modelica_metatype _ty)
Definition: NFType.c:1812
m_integer modelica_integer
DLLExport modelica_metatype omc_NFType_liftArrayLeftList(threadData_t *threadData, modelica_metatype _ $in_ty, modelica_metatype _dims)
Definition: NFType.c:4031
signed char modelica_boolean
DLLExport modelica_metatype omc_NFDimension_fromInteger(threadData_t *threadData, modelica_integer _n, modelica_integer _var)
Definition: NFDimension.c:1295
modelica_metatype listAppend(modelica_metatype, modelica_metatype)
void * modelica_metatype
modelica_metatype listReverse(modelica_metatype)
DLLExport modelica_metatype omc_NFType_arrayElementType(threadData_t *threadData, modelica_metatype _ty)
Definition: NFType.c:2233
DLLExport modelica_boolean omc_NFType_isArray(threadData_t *threadData, modelica_metatype _ty)
Definition: NFType.c:3495
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
DLLExport modelica_metatype omc_NFType_arrayDims(threadData_t *threadData, modelica_metatype _ty)
Definition: NFType.c:2041
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_promote2()

DLLExport modelica_metatype omc_NFExpression_promote2 ( threadData_t threadData,
modelica_metatype  _exp,
modelica_boolean  _isArray,
modelica_integer  _dims,
modelica_metatype  _types 
)

Definition at line 1854 of file NFExpression.c.

1855 {
1856  modelica_metatype _outExp = NULL;
1857  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
1858  MMC_SO();
1859  _tailrecursive: OMC_LABEL_UNUSED
1860 #line 1860 OMC_FILE
1861  { /* match expression */
1862  modelica_metatype tmp3_1;modelica_metatype tmp3_2;
1863  tmp3_1 = _exp;
1864  tmp3_2 = _types;
1865  {
1866  modelica_metatype _ty = NULL;
1867  modelica_metatype _rest_ty = NULL;
1868  modelica_boolean _expanded;
1869  volatile mmc_switch_type tmp3;
1870  int tmp4;
1871  tmp3 = 0;
1872  for (; tmp3 < 4; tmp3++) {
1873  switch (MMC_SWITCH_CAST(tmp3)) {
1874  case 0: {
1875  if (!listEmpty(tmp3_2)) goto tmp2_end;
1876 
1877  /* Pattern matching succeeded */
1878 #line 4355 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1879  tmpMeta[0] = _exp;
1880 #line 1880 OMC_FILE
1881  goto tmp2_done;
1882  }
1883  case 1: {
1884  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,7,3) == 0) goto tmp2_end;
1885  if (listEmpty(tmp3_2)) goto tmp2_end;
1886  tmpMeta[1] = MMC_CAR(tmp3_2);
1887  tmpMeta[2] = MMC_CDR(tmp3_2);
1888  _ty = tmpMeta[1];
1889  _rest_ty = tmpMeta[2];
1890  /* Pattern matching succeeded */
1891 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1892  {
1893 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1894  modelica_metatype _$tmpVar9;
1895 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1896  modelica_metatype* tmp5;
1897 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1898  modelica_metatype _$tmpVar8;
1899 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1900  int tmp6;
1901 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1902  modelica_metatype e_loopVar = 0;
1903 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1904  modelica_metatype _e;
1905 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1906  e_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
1907 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1908  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
1909 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1910  _$tmpVar9 = tmpMeta[2]; /* defaultValue */
1911 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1912  tmp5 = &_$tmpVar9;
1913 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1914  while(1) {
1915 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1916  tmp6 = 1;
1917 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1918  if (!listEmpty(e_loopVar)) {
1919 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1920  _e = MMC_CAR(e_loopVar);
1921 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1922  e_loopVar = MMC_CDR(e_loopVar);
1923 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1924  tmp6--;
1925 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1926  }
1927 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1928  if (tmp6 == 0) {
1929 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1930  _$tmpVar8 = omc_NFExpression_promote2(threadData, _e, 0, (modelica_integer)_dims, _rest_ty);
1931 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1932  *tmp5 = mmc_mk_cons(_$tmpVar8,0);
1933 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1934  tmp5 = &MMC_CDR(*tmp5);
1935 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1936  } else if (tmp6 == 1) {
1937 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1938  break;
1939 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1940  } else {
1941 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1942  goto goto_1;
1943 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1944  }
1945 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1946  }
1947 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1948  *tmp5 = mmc_mk_nil();
1949 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1950  tmpMeta[1] = _$tmpVar9;
1951 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1952  }
1953 #line 4359 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1954  tmpMeta[0] = omc_NFExpression_makeArray(threadData, _ty, tmpMeta[1], 0);
1955 #line 1955 OMC_FILE
1956  goto tmp2_done;
1957  }
1958  case 2: {
1959 
1960  /* Pattern matching succeeded */
1961  /* Check guard condition after assignments */
1962  if (!_isArray) goto tmp2_end;
1963 #line 4365 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1964  _outExp = omc_NFExpandExp_expand(threadData, _exp ,&_expanded);
1965 #line 1965 OMC_FILE
1966 
1967 #line 4367 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1968  if(_expanded)
1969 #line 4367 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1970  {
1971 #line 4368 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1972  _outExp = omc_NFExpression_promote2(threadData, _outExp, 1, (modelica_integer)_dims, _types);
1973 #line 1973 OMC_FILE
1974  }
1975  else
1976  {
1977 #line 4370 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1978  tmpMeta[2] = mmc_mk_box2(3, &NFExpression_INTEGER__desc, mmc_mk_integer((modelica_integer)_dims));
1979 #line 4370 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1980  tmpMeta[1] = mmc_mk_cons(_exp, mmc_mk_cons(tmpMeta[2], MMC_REFSTRUCTLIT(mmc_nil)));
1981 #line 4370 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1982  tmpMeta[3] = mmc_mk_box2(15, &NFExpression_CALL__desc, omc_NFCall_Call_makeTypedCall(threadData, _OMC_LIT35, tmpMeta[1], omc_NFExpression_variability(threadData, _exp), listHead(_types)));
1983 #line 4370 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1984  _outExp = tmpMeta[3];
1985 #line 1985 OMC_FILE
1986  }
1987 #line 4373 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1988  tmpMeta[0] = _outExp;
1989 #line 1989 OMC_FILE
1990  goto tmp2_done;
1991  }
1992  case 3: {
1993 
1994  /* Pattern matching succeeded */
1995 #line 4379 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1996  _outExp = _exp;
1997 #line 1997 OMC_FILE
1998 
1999 #line 4380 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2000  {
2001 #line 4380 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2002  modelica_metatype _ty;
2003 #line 4380 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2004  for (tmpMeta[1] = listReverse(_types); !listEmpty(tmpMeta[1]); tmpMeta[1]=MMC_CDR(tmpMeta[1]))
2005 #line 4380 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2006  {
2007 #line 4380 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2008  _ty = MMC_CAR(tmpMeta[1]);
2009 #line 4381 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2010  tmpMeta[2] = mmc_mk_cons(_outExp, MMC_REFSTRUCTLIT(mmc_nil));
2011 #line 4381 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2012  _outExp = omc_NFExpression_makeArray(threadData, _ty, tmpMeta[2], 0);
2013 #line 2013 OMC_FILE
2014  }
2015  }
2016 #line 4383 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2017  tmpMeta[0] = _outExp;
2018 #line 2018 OMC_FILE
2019  goto tmp2_done;
2020  }
2021  }
2022  goto tmp2_end;
2023  tmp2_end: ;
2024  }
2025  goto goto_1;
2026  goto_1:;
2027  MMC_THROW_INTERNAL();
2028  goto tmp2_done;
2029  tmp2_done:;
2030  }
2031  }
2032  _outExp = tmpMeta[0];
2033  _return: OMC_LABEL_UNUSED
2034  return _outExp;
2035 }
DLLExport modelica_metatype omc_NFExpression_promote2(threadData_t *threadData, modelica_metatype _exp, modelica_boolean _isArray, modelica_integer _dims, modelica_metatype _types)
DLLExport modelica_integer omc_NFExpression_variability(threadData_t *threadData, modelica_metatype _exp)
m_integer modelica_integer
struct record_description NFExpression_CALL__desc
signed char modelica_boolean
float mmc_switch_type
DLLExport modelica_metatype omc_NFExpression_makeArray(threadData_t *threadData, modelica_metatype _ty, modelica_metatype _expl, modelica_boolean _literal)
struct record_description NFExpression_INTEGER__desc
void * modelica_metatype
DLLExport modelica_metatype omc_NFCall_Call_makeTypedCall(threadData_t *threadData, modelica_metatype _fn, modelica_metatype _args, modelica_integer _variability, modelica_metatype _returnType)
Definition: NFCall.c:5166
modelica_metatype listReverse(modelica_metatype)
DLLExport modelica_metatype omc_NFExpandExp_expand(threadData_t *threadData, modelica_metatype _ $in_exp, modelica_boolean *out_expanded)
Definition: NFExpandExp.c:4126
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_realValue()

DLLExport modelica_real omc_NFExpression_realValue ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 17841 of file NFExpression.c.

17842 {
17844  modelica_real tmp1 = 0;
17845  MMC_SO();
17846  _tailrecursive: OMC_LABEL_UNUSED
17847 #line 17847 OMC_FILE
17848  { /* match expression */
17849  modelica_metatype tmp4_1;
17850  tmp4_1 = _exp;
17851  {
17852  volatile mmc_switch_type tmp4;
17853  int tmp5;
17854  tmp4 = 0;
17855  for (; tmp4 < 2; tmp4++) {
17856  switch (MMC_SWITCH_CAST(tmp4)) {
17857  case 0: {
17858  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,1) == 0) goto tmp3_end;
17859 
17860  /* Pattern matching succeeded */
17861 #line 859 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17862  tmp1 = mmc_unbox_real((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
17863 #line 17863 OMC_FILE
17864  goto tmp3_done;
17865  }
17866  case 1: {
17867  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,1) == 0) goto tmp3_end;
17868 
17869  /* Pattern matching succeeded */
17870 #line 860 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17871  tmp1 = ((modelica_real)(mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))))));
17872 #line 17872 OMC_FILE
17873  goto tmp3_done;
17874  }
17875  }
17876  goto tmp3_end;
17877  tmp3_end: ;
17878  }
17879  goto goto_2;
17880  goto_2:;
17881  MMC_THROW_INTERNAL();
17882  goto tmp3_done;
17883  tmp3_done:;
17884  }
17885  }
17886  _value = tmp1;
17887  _return: OMC_LABEL_UNUSED
17888  return _value;
17889 }
double modelica_real
float mmc_switch_type
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_NFExpression_recordElement()

DLLExport modelica_metatype omc_NFExpression_recordElement ( threadData_t threadData,
modelica_string  _elementName,
modelica_metatype  _recordExp 
)

Definition at line 705 of file NFExpression.c.

706 {
707  modelica_metatype _outExp = NULL;
708  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
709  MMC_SO();
710  _tailrecursive: OMC_LABEL_UNUSED
711 #line 711 OMC_FILE
712  { /* match expression */
713  modelica_metatype tmp3_1;
714  tmp3_1 = _recordExp;
715  {
716  modelica_metatype _node = NULL;
717  modelica_metatype _cls = NULL;
718  modelica_metatype _ty = NULL;
719  modelica_integer _index;
720  modelica_metatype _expl = NULL;
721  volatile mmc_switch_type tmp3;
722  int tmp4;
723  tmp3 = 0;
724  for (; tmp3 < 4; tmp3++) {
725  switch (MMC_SWITCH_CAST(tmp3)) {
726  case 0: {
727  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,11,3) == 0) goto tmp2_end;
728  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
729  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],11,2) == 0) goto tmp2_end;
730  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
731 
732  _node = tmpMeta[2];
733  /* Pattern matching succeeded */
734 #line 4601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
735  _cls = omc_NFInstNode_InstNode_getClass(threadData, _node);
736 #line 736 OMC_FILE
737 
738 #line 4602 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
739  _index = omc_NFClass_Class_lookupComponentIndex(threadData, _elementName, _cls);
740 #line 740 OMC_FILE
741 #line 4603 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
742  tmpMeta[0] = listGet((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_recordExp), 4))), (modelica_integer)_index);
743 #line 743 OMC_FILE
744  goto tmp2_done;
745  }
746  case 1: {
747  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,7,3) == 0) goto tmp2_end;
748  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
749  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],7,2) == 0) goto tmp2_end;
750  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
751  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],11,2) == 0) goto tmp2_end;
752  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
753  tmpMeta[4] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
754  if (!listEmpty(tmpMeta[4])) goto tmp2_end;
755 
756  _node = tmpMeta[3];
757  /* Pattern matching succeeded */
758 #line 4608 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
759  _cls = omc_NFInstNode_InstNode_getClass(threadData, _node);
760 #line 760 OMC_FILE
761 
762 #line 4609 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
763  _index = omc_NFClass_Class_lookupComponentIndex(threadData, _elementName, _cls);
764 #line 764 OMC_FILE
765 
766 #line 4610 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
767  _ty = omc_NFInstNode_InstNode_getType(threadData, omc_NFClass_Class_nthComponent(threadData, (modelica_integer)_index, _cls));
768 #line 768 OMC_FILE
769 #line 4611 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
770  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
771 #line 4611 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
772  tmpMeta[0] = omc_NFExpression_makeArray(threadData, _ty, tmpMeta[1], 0);
773 #line 773 OMC_FILE
774  goto tmp2_done;
775  }
776  case 2: {
777  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,7,3) == 0) goto tmp2_end;
778  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
779  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],7,2) == 0) goto tmp2_end;
780  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
781  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],11,2) == 0) goto tmp2_end;
782  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 2));
783 
784  _node = tmpMeta[3];
785  /* Pattern matching succeeded */
786 #line 4616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
787  _index = omc_NFClass_Class_lookupComponentIndex(threadData, _elementName, omc_NFInstNode_InstNode_getClass(threadData, _node));
788 #line 788 OMC_FILE
789 
790 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
791  {
792 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
793  modelica_metatype _$tmpVar5;
794 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
795  modelica_metatype* tmp5;
796 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
797  modelica_metatype _$tmpVar4;
798 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
799  int tmp6;
800 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
801  modelica_metatype e_loopVar = 0;
802 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
804 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
805  e_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_recordExp), 3)));
806 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
807  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
808 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
809  _$tmpVar5 = tmpMeta[2]; /* defaultValue */
810 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
811  tmp5 = &_$tmpVar5;
812 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
813  while(1) {
814 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
815  tmp6 = 1;
816 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
817  if (!listEmpty(e_loopVar)) {
818 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
819  _e = MMC_CAR(e_loopVar);
820 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
821  e_loopVar = MMC_CDR(e_loopVar);
822 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
823  tmp6--;
824 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
825  }
826 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
827  if (tmp6 == 0) {
828 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
829  _$tmpVar4 = omc_NFExpression_nthRecordElement(threadData, (modelica_integer)_index, _e);
830 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
831  *tmp5 = mmc_mk_cons(_$tmpVar4,0);
832 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
833  tmp5 = &MMC_CDR(*tmp5);
834 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
835  } else if (tmp6 == 1) {
836 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
837  break;
838 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
839  } else {
840 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
841  goto goto_1;
842 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
843  }
844 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
845  }
846 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
847  *tmp5 = mmc_mk_nil();
848 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
849  tmpMeta[1] = _$tmpVar5;
850 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
851  }
852 #line 4617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
853  _expl = tmpMeta[1];
854 #line 854 OMC_FILE
855 
856 #line 4618 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
857  _ty = omc_NFType_liftArrayLeft(threadData, omc_NFExpression_typeOf(threadData, listHead(_expl)), omc_NFDimension_fromInteger(threadData, listLength(_expl), 1));
858 #line 858 OMC_FILE
859 #line 4620 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
860  tmpMeta[0] = omc_NFExpression_makeArray(threadData, _ty, _expl, mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_recordExp), 4)))));
861 #line 861 OMC_FILE
862  goto tmp2_done;
863  }
864  case 3: {
865 
866  /* Pattern matching succeeded */
867 #line 4625 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
868  _ty = omc_NFExpression_typeOf(threadData, _recordExp);
869 #line 869 OMC_FILE
870 
871 #line 4626 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
872  /* Pattern-matching assignment */
873 #line 4626 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
874  tmpMeta[1] = omc_NFType_arrayElementType(threadData, _ty);
875 #line 4626 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
876  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],11,2) == 0) goto goto_1;
877 #line 4626 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
878  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
879 #line 4626 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
880  _node = tmpMeta[2];
881 #line 881 OMC_FILE
882 
883 #line 4627 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
884  _cls = omc_NFInstNode_InstNode_getClass(threadData, _node);
885 #line 885 OMC_FILE
886 
887 #line 4628 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
888  _index = omc_NFClass_Class_lookupComponentIndex(threadData, _elementName, _cls);
889 #line 889 OMC_FILE
890 
891 #line 4629 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
892  _ty = omc_NFType_liftArrayRightList(threadData, omc_NFInstNode_InstNode_getType(threadData, omc_NFClass_Class_nthComponent(threadData, (modelica_integer)_index, _cls)), omc_NFType_arrayDims(threadData, _ty));
893 #line 893 OMC_FILE
894 #line 4632 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
895  tmpMeta[1] = mmc_mk_box5(28, &NFExpression_RECORD__ELEMENT__desc, _recordExp, mmc_mk_integer((modelica_integer)_index), _elementName, _ty);
896 #line 4632 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
897  tmpMeta[0] = tmpMeta[1];
898 #line 898 OMC_FILE
899  goto tmp2_done;
900  }
901  }
902  goto tmp2_end;
903  tmp2_end: ;
904  }
905  goto goto_1;
906  goto_1:;
907  MMC_THROW_INTERNAL();
908  goto tmp2_done;
909  tmp2_done:;
910  }
911  }
912  _outExp = tmpMeta[0];
913  _return: OMC_LABEL_UNUSED
914  return _outExp;
915 }
DLLExport modelica_metatype omc_NFType_liftArrayRightList(threadData_t *threadData, modelica_metatype _ $in_ty, modelica_metatype _dims)
Definition: NFType.c:3967
DLLExport modelica_metatype omc_NFInstNode_InstNode_getClass(threadData_t *threadData, modelica_metatype _node)
Definition: NFInstNode.c:4014
m_integer modelica_integer
DLLExport modelica_metatype omc_NFExpression_typeOf(threadData_t *threadData, modelica_metatype _exp)
DLLExport modelica_metatype omc_NFDimension_fromInteger(threadData_t *threadData, modelica_integer _n, modelica_integer _var)
Definition: NFDimension.c:1295
float mmc_switch_type
DLLExport modelica_metatype omc_NFExpression_nthRecordElement(threadData_t *threadData, modelica_integer _index, modelica_metatype _recordExp)
Definition: NFExpression.c:536
DLLExport modelica_metatype omc_NFInstNode_InstNode_getType(threadData_t *threadData, modelica_metatype _node)
Definition: NFInstNode.c:3335
DLLExport modelica_metatype omc_NFClass_Class_nthComponent(threadData_t *threadData, modelica_integer _index, modelica_metatype _cls)
Definition: NFClass.c:1948
DLLExport modelica_metatype omc_NFExpression_makeArray(threadData_t *threadData, modelica_metatype _ty, modelica_metatype _expl, modelica_boolean _literal)
void * modelica_metatype
modelica_integer listLength(modelica_metatype)
DLLExport modelica_integer omc_NFClass_Class_lookupComponentIndex(threadData_t *threadData, modelica_string _name, modelica_metatype _cls)
Definition: NFClass.c:1970
DLLExport modelica_metatype omc_NFType_arrayElementType(threadData_t *threadData, modelica_metatype _ty)
Definition: NFType.c:2233
DLLExport modelica_metatype omc_NFType_liftArrayLeft(threadData_t *threadData, modelica_metatype _ $in_ty, modelica_metatype _dim)
Definition: NFType.c:4095
struct record_description NFExpression_RECORD__ELEMENT__desc
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
DLLExport modelica_metatype omc_NFType_arrayDims(threadData_t *threadData, modelica_metatype _ty)
Definition: NFType.c:2041
Here is the call graph for this function:

◆ omc_NFExpression_replaceIterator()

DLLExport modelica_metatype omc_NFExpression_replaceIterator ( threadData_t threadData,
modelica_metatype $in_exp,
modelica_metatype  _iterator,
modelica_metatype  _iteratorValue 
)

Definition at line 15866 of file NFExpression.c.

15867 {
15868  modelica_metatype _exp = NULL;
15869  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
15870  MMC_SO();
15871  _tailrecursive: OMC_LABEL_UNUSED
15872  _exp = _$in_exp;
15873 #line 1325 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15874  tmpMeta[0] = mmc_mk_box2(0, _iterator, _iteratorValue);
15875 #line 1325 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15876  _exp = omc_NFExpression_map(threadData, _exp, (modelica_fnptr) mmc_mk_box2(0,closure4_NFExpression_replaceIterator2,tmpMeta[0]));
15877 #line 15877 OMC_FILE
15878  _return: OMC_LABEL_UNUSED
15879  return _exp;
15880 }
void * modelica_fnptr
DLLExport modelica_metatype omc_NFExpression_map(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_replaceIterator2()

DLLExport modelica_metatype omc_NFExpression_replaceIterator2 ( threadData_t threadData,
modelica_metatype $in_exp,
modelica_metatype  _iterator,
modelica_metatype  _iteratorValue 
)

Definition at line 15804 of file NFExpression.c.

15805 {
15806  modelica_metatype _exp = NULL;
15807  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
15808  MMC_SO();
15809  _tailrecursive: OMC_LABEL_UNUSED
15810  _exp = _$in_exp;
15811 #line 15811 OMC_FILE
15812  { /* match expression */
15813  modelica_metatype tmp3_1;
15814  tmp3_1 = _exp;
15815  {
15816  modelica_metatype _node = NULL;
15817  volatile mmc_switch_type tmp3;
15818  int tmp4;
15819  tmp3 = 0;
15820  for (; tmp3 < 2; tmp3++) {
15821  switch (MMC_SWITCH_CAST(tmp3)) {
15822  case 0: {
15823  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,5,2) == 0) goto tmp2_end;
15824  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
15825  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],0,5) == 0) goto tmp2_end;
15826  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
15827 
15828  _node = tmpMeta[2];
15829  /* Pattern matching succeeded */
15830 #line 1338 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15831  tmpMeta[0] = (omc_NFInstNode_InstNode_refEqual(threadData, _iterator, _node)?_iteratorValue:_exp);
15832 #line 15832 OMC_FILE
15833  goto tmp2_done;
15834  }
15835  case 1: {
15836 
15837  /* Pattern matching succeeded */
15838 #line 1340 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15839  tmpMeta[0] = _exp;
15840 #line 15840 OMC_FILE
15841  goto tmp2_done;
15842  }
15843  }
15844  goto tmp2_end;
15845  tmp2_end: ;
15846  }
15847  goto goto_1;
15848  goto_1:;
15849  MMC_THROW_INTERNAL();
15850  goto tmp2_done;
15851  tmp2_done:;
15852  }
15853  }
15854  _exp = tmpMeta[0];
15855  _return: OMC_LABEL_UNUSED
15856  return _exp;
15857 }
float mmc_switch_type
DLLExport modelica_boolean omc_NFInstNode_InstNode_refEqual(threadData_t *threadData, modelica_metatype _node1, modelica_metatype _node2)
Definition: NFInstNode.c:1422
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_NFExpression_retype()

DLLExport modelica_metatype omc_NFExpression_retype ( threadData_t threadData,
modelica_metatype $in_exp 
)

Definition at line 271 of file NFExpression.c.

272 {
273  modelica_metatype _exp = NULL;
274  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
275  MMC_SO();
276  _tailrecursive: OMC_LABEL_UNUSED
277  _exp = _$in_exp;
278 #line 278 OMC_FILE
279  { /* match expression */
280  modelica_metatype tmp3_1;
281  tmp3_1 = _exp;
282  {
283  volatile mmc_switch_type tmp3;
284  int tmp4;
285  tmp3 = 0;
286  for (; tmp3 < 3; tmp3++) {
287  switch (MMC_SWITCH_CAST(tmp3)) {
288  case 0: {
289  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,9,4) == 0) goto tmp2_end;
290 
291  /* Pattern matching succeeded */
292 #line 4718 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
293  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
294 #line 4718 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
295  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_exp), 6*sizeof(modelica_metatype));
296 #line 4718 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
297  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = omc_NFTypeCheck_getRangeType(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))), omc_NFExpression_typeOf(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))), _OMC_LIT2);
298 #line 4718 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
299  _exp = tmpMeta[0];
300 #line 300 OMC_FILE
301 #line 301 OMC_FILE
302  goto tmp2_done;
303  }
304  case 1: {
305  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,12,1) == 0) goto tmp2_end;
306  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
307  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],4,4) == 0) goto tmp2_end;
308 
309  /* Pattern matching succeeded */
310 #line 4725 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
311  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(3));
312 #line 4725 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
313  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_exp), 3*sizeof(modelica_metatype));
314 #line 4725 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
315  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = omc_NFCall_Call_retype(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
316 #line 4725 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
317  _exp = tmpMeta[0];
318 #line 318 OMC_FILE
319 #line 319 OMC_FILE
320  goto tmp2_done;
321  }
322  case 2: {
323 
324  /* Pattern matching succeeded */
325 #line 325 OMC_FILE
326  goto tmp2_done;
327  }
328  }
329  goto tmp2_end;
330  tmp2_end: ;
331  }
332  goto goto_1;
333  goto_1:;
334  MMC_THROW_INTERNAL();
335  goto tmp2_done;
336  tmp2_done:;
337  }
338  }
339  ;
340  _return: OMC_LABEL_UNUSED
341  return _exp;
342 }
DLLExport modelica_metatype omc_NFExpression_typeOf(threadData_t *threadData, modelica_metatype _exp)
DLLExport modelica_metatype omc_NFCall_Call_retype(threadData_t *threadData, modelica_metatype _ $in_call)
Definition: NFCall.c:2396
float mmc_switch_type
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
DLLExport modelica_metatype omc_NFTypeCheck_getRangeType(threadData_t *threadData, modelica_metatype _startExp, modelica_metatype _stepExp, modelica_metatype _stopExp, modelica_metatype _rangeElemType, modelica_metatype _info)
Definition: NFTypeCheck.c:1323
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_NFExpression_setType()

DLLExport modelica_metatype omc_NFExpression_setType ( threadData_t threadData,
modelica_metatype  _ty,
modelica_metatype $in_exp 
)

Definition at line 18098 of file NFExpression.c.

18099 {
18100  modelica_metatype _exp = NULL;
18101  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
18102  MMC_SO();
18103  _tailrecursive: OMC_LABEL_UNUSED
18104  _exp = _$in_exp;
18105 #line 18105 OMC_FILE
18106  { /* match expression */
18107  modelica_metatype tmp3_1;
18108  tmp3_1 = _exp;
18109  {
18110  int tmp3;
18111  {
18112  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
18113  case 7: {
18114 
18115  /* Pattern matching succeeded */
18116 #line 785 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18117  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
18118 #line 785 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18119  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_exp), 5*sizeof(modelica_metatype));
18120 #line 785 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18121  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _ty;
18122 #line 785 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18123  _exp = tmpMeta[0];
18124 #line 18124 OMC_FILE
18125 #line 18125 OMC_FILE
18126  goto tmp2_done;
18127  }
18128  case 8: {
18129 
18130  /* Pattern matching succeeded */
18131 #line 786 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18132  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(4));
18133 #line 786 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18134  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_exp), 4*sizeof(modelica_metatype));
18135 #line 786 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18136  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _ty;
18137 #line 786 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18138  _exp = tmpMeta[0];
18139 #line 18139 OMC_FILE
18140 #line 18140 OMC_FILE
18141  goto tmp2_done;
18142  }
18143  case 9: {
18144 
18145  /* Pattern matching succeeded */
18146 #line 787 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18147  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(3));
18148 #line 787 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18149  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_exp), 3*sizeof(modelica_metatype));
18150 #line 787 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18151  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _ty;
18152 #line 787 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18153  _exp = tmpMeta[0];
18154 #line 18154 OMC_FILE
18155 #line 18155 OMC_FILE
18156  goto tmp2_done;
18157  }
18158  case 10: {
18159 
18160  /* Pattern matching succeeded */
18161 #line 788 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18162  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
18163 #line 788 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18164  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_exp), 5*sizeof(modelica_metatype));
18165 #line 788 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18166  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _ty;
18167 #line 788 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18168  _exp = tmpMeta[0];
18169 #line 18169 OMC_FILE
18170 #line 18170 OMC_FILE
18171  goto tmp2_done;
18172  }
18173  case 12: {
18174 
18175  /* Pattern matching succeeded */
18176 #line 789 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18177  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
18178 #line 789 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18179  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_exp), 6*sizeof(modelica_metatype));
18180 #line 789 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18181  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _ty;
18182 #line 789 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18183  _exp = tmpMeta[0];
18184 #line 18184 OMC_FILE
18185 #line 18185 OMC_FILE
18186  goto tmp2_done;
18187  }
18188  case 13: {
18189 
18190  /* Pattern matching succeeded */
18191 #line 790 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18192  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(4));
18193 #line 790 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18194  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_exp), 4*sizeof(modelica_metatype));
18195 #line 790 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18196  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _ty;
18197 #line 790 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18198  _exp = tmpMeta[0];
18199 #line 18199 OMC_FILE
18200 #line 18200 OMC_FILE
18201  goto tmp2_done;
18202  }
18203  case 14: {
18204 
18205  /* Pattern matching succeeded */
18206 #line 791 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18207  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
18208 #line 791 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18209  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_exp), 5*sizeof(modelica_metatype));
18210 #line 791 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18211  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = _ty;
18212 #line 791 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18213  _exp = tmpMeta[0];
18214 #line 18214 OMC_FILE
18215 #line 18215 OMC_FILE
18216  goto tmp2_done;
18217  }
18218  case 15: {
18219 
18220  /* Pattern matching succeeded */
18221 #line 792 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18222  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(3));
18223 #line 792 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18224  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_exp), 3*sizeof(modelica_metatype));
18225 #line 792 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18226  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = omc_NFCall_Call_setType(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _ty);
18227 #line 792 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18228  _exp = tmpMeta[0];
18229 #line 18229 OMC_FILE
18230 #line 18230 OMC_FILE
18231  goto tmp2_done;
18232  }
18233  case 18: {
18234 
18235  /* Pattern matching succeeded */
18236 #line 793 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18237  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
18238 #line 793 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18239  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_exp), 5*sizeof(modelica_metatype));
18240 #line 793 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18241  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = omc_NFOperator_setType(threadData, _ty, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
18242 #line 793 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18243  _exp = tmpMeta[0];
18244 #line 18244 OMC_FILE
18245 #line 18245 OMC_FILE
18246  goto tmp2_done;
18247  }
18248  case 19: {
18249 
18250  /* Pattern matching succeeded */
18251 #line 794 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18252  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(4));
18253 #line 794 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18254  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_exp), 4*sizeof(modelica_metatype));
18255 #line 794 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18256  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = omc_NFOperator_setType(threadData, _ty, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
18257 #line 794 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18258  _exp = tmpMeta[0];
18259 #line 18259 OMC_FILE
18260 #line 18260 OMC_FILE
18261  goto tmp2_done;
18262  }
18263  case 20: {
18264 
18265  /* Pattern matching succeeded */
18266 #line 795 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18267  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
18268 #line 795 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18269  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_exp), 5*sizeof(modelica_metatype));
18270 #line 795 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18271  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = omc_NFOperator_setType(threadData, _ty, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
18272 #line 795 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18273  _exp = tmpMeta[0];
18274 #line 18274 OMC_FILE
18275 #line 18275 OMC_FILE
18276  goto tmp2_done;
18277  }
18278  case 21: {
18279 
18280  /* Pattern matching succeeded */
18281 #line 796 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18282  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(4));
18283 #line 796 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18284  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_exp), 4*sizeof(modelica_metatype));
18285 #line 796 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18286  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = omc_NFOperator_setType(threadData, _ty, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
18287 #line 796 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18288  _exp = tmpMeta[0];
18289 #line 18289 OMC_FILE
18290 #line 18290 OMC_FILE
18291  goto tmp2_done;
18292  }
18293  case 22: {
18294 
18295  /* Pattern matching succeeded */
18296 #line 797 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18297  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
18298 #line 797 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18299  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_exp), 5*sizeof(modelica_metatype));
18300 #line 797 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18301  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = omc_NFOperator_setType(threadData, _ty, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
18302 #line 797 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18303  _exp = tmpMeta[0];
18304 #line 18304 OMC_FILE
18305 #line 18305 OMC_FILE
18306  goto tmp2_done;
18307  }
18308  case 24: {
18309 
18310  /* Pattern matching succeeded */
18311 #line 798 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18312  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(4));
18313 #line 798 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18314  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_exp), 4*sizeof(modelica_metatype));
18315 #line 798 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18316  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[2] = _ty;
18317 #line 798 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18318  _exp = tmpMeta[0];
18319 #line 18319 OMC_FILE
18320 #line 18320 OMC_FILE
18321  goto tmp2_done;
18322  }
18323  case 25: {
18324 
18325  /* Pattern matching succeeded */
18326 #line 799 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18327  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(4));
18328 #line 799 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18329  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_exp), 4*sizeof(modelica_metatype));
18330 #line 799 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18331  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[3] = _ty;
18332 #line 799 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18333  _exp = tmpMeta[0];
18334 #line 18334 OMC_FILE
18335 #line 18335 OMC_FILE
18336  goto tmp2_done;
18337  }
18338  case 26: {
18339 
18340  /* Pattern matching succeeded */
18341 #line 800 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18342  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
18343 #line 800 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18344  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_exp), 5*sizeof(modelica_metatype));
18345 #line 800 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18346  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[4] = _ty;
18347 #line 800 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18348  _exp = tmpMeta[0];
18349 #line 18349 OMC_FILE
18350 #line 18350 OMC_FILE
18351  goto tmp2_done;
18352  }
18353  case 27: {
18354 
18355  /* Pattern matching succeeded */
18356 #line 801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18357  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(5));
18358 #line 801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18359  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_exp), 5*sizeof(modelica_metatype));
18360 #line 801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18361  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[4] = _ty;
18362 #line 801 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18363  _exp = tmpMeta[0];
18364 #line 18364 OMC_FILE
18365 #line 18365 OMC_FILE
18366  goto tmp2_done;
18367  }
18368  case 28: {
18369 
18370  /* Pattern matching succeeded */
18371 #line 802 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18372  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
18373 #line 802 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18374  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_exp), 6*sizeof(modelica_metatype));
18375 #line 802 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18376  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[5] = _ty;
18377 #line 802 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18378  _exp = tmpMeta[0];
18379 #line 18379 OMC_FILE
18380 #line 18380 OMC_FILE
18381  goto tmp2_done;
18382  }
18383  case 33: {
18384 
18385  /* Pattern matching succeeded */
18386 #line 803 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18387  tmpMeta[0] = MMC_TAGPTR(mmc_alloc_words(6));
18388 #line 803 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18389  memcpy(MMC_UNTAGPTR(tmpMeta[0]), MMC_UNTAGPTR(_exp), 6*sizeof(modelica_metatype));
18390 #line 803 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18391  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[0]))[5] = _ty;
18392 #line 803 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18393  _exp = tmpMeta[0];
18394 #line 18394 OMC_FILE
18395 #line 18395 OMC_FILE
18396  goto tmp2_done;
18397  }
18398  default:
18399  tmp2_default: OMC_LABEL_UNUSED; {
18400 
18401  /* Pattern matching succeeded */
18402 #line 18402 OMC_FILE
18403  goto tmp2_done;
18404  }
18405  }
18406  goto tmp2_end;
18407  tmp2_end: ;
18408  }
18409  goto goto_1;
18410  goto_1:;
18411  MMC_THROW_INTERNAL();
18412  goto tmp2_done;
18413  tmp2_done:;
18414  }
18415  }
18416  ;
18417  _return: OMC_LABEL_UNUSED
18418  return _exp;
18419 }
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
DLLExport modelica_metatype omc_NFCall_Call_setType(threadData_t *threadData, modelica_metatype _ $in_call, modelica_metatype _ty)
Definition: NFCall.c:4729
void * modelica_metatype
DLLExport modelica_metatype omc_NFOperator_setType(threadData_t *threadData, modelica_metatype _ty, modelica_metatype _ $in_op)
Definition: NFOperator.c:1446
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_NFExpression_splitRecordCref()

DLLExport modelica_metatype omc_NFExpression_splitRecordCref ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 345 of file NFExpression.c.

346 {
347  modelica_metatype _outExp = NULL;
348  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
349  MMC_SO();
350  _tailrecursive: OMC_LABEL_UNUSED
351 #line 4676 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
352  _outExp = omc_NFExpandExp_expand(threadData, _exp, NULL);
353 #line 353 OMC_FILE
354 
355 #line 355 OMC_FILE
356  { /* match expression */
357  modelica_metatype tmp3_1;
358  tmp3_1 = _outExp;
359  {
360  modelica_metatype _cls = NULL;
361  modelica_metatype _comps = NULL;
362  modelica_metatype _cr = NULL;
363  modelica_metatype _field_cr = NULL;
364  modelica_metatype _ty = NULL;
365  modelica_metatype _fields = NULL;
366  volatile mmc_switch_type tmp3;
367  int tmp4;
368  tmp3 = 0;
369  for (; tmp3 < 3; tmp3++) {
370  switch (MMC_SWITCH_CAST(tmp3)) {
371  case 0: {
372  modelica_integer tmp5;
373  modelica_integer tmp6;
374  modelica_integer tmp7;
375  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,5,2) == 0) goto tmp2_end;
376  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
377  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],11,2) == 0) goto tmp2_end;
378  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
379  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
380  _cls = tmpMeta[2];
381  _cr = tmpMeta[3];
382  /* Pattern matching succeeded */
383 #line 4688 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
385 #line 385 OMC_FILE
386 
387 #line 4689 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
388  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
389 #line 4689 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
390  _fields = tmpMeta[1];
391 #line 391 OMC_FILE
392 
393 #line 4691 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
394  tmp5 = arrayLength(_comps); tmp6 = ((modelica_integer) -1); tmp7 = ((modelica_integer) 1);
395 #line 4691 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
396  if(!(((tmp6 > 0) && (tmp5 > tmp7)) || ((tmp6 < 0) && (tmp5 < tmp7))))
397 #line 4691 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
398  {
399 #line 4691 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
400  modelica_integer _i;
401 #line 4691 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
402  for(_i = arrayLength(_comps); in_range_integer(_i, tmp5, tmp7); _i += tmp6)
403 #line 4691 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
404  {
405 #line 4692 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
406  _ty = omc_NFInstNode_InstNode_getType(threadData, arrayGet(_comps,(modelica_integer)_i) /* DAE.ASUB */);
407 #line 407 OMC_FILE
408 
409 #line 4693 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
410  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
411 #line 4693 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
412  _field_cr = omc_NFComponentRef_prefixCref(threadData, arrayGet(_comps,(modelica_integer)_i) /* DAE.ASUB */, _ty, tmpMeta[1], _cr);
413 #line 413 OMC_FILE
414 
415 #line 4694 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
416  tmpMeta[2] = mmc_mk_box3(8, &NFExpression_CREF__desc, _ty, _field_cr);
417 #line 4694 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
418  tmpMeta[1] = mmc_mk_cons(tmpMeta[2], _fields);
419 #line 4694 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
420  _fields = tmpMeta[1];
421 #line 421 OMC_FILE
422  }
423  }
424 #line 4696 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
425  tmpMeta[1] = mmc_mk_box4(14, &NFExpression_RECORD__desc, omc_NFInstNode_InstNode_scopePath(threadData, _cls, 0), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_outExp), 2))), _fields);
426 #line 4696 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
427  tmpMeta[0] = tmpMeta[1];
428 #line 428 OMC_FILE
429  goto tmp2_done;
430  }
431  case 1: {
432  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,7,3) == 0) goto tmp2_end;
433 
434  /* Pattern matching succeeded */
435 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
436  {
437 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
438  modelica_metatype _$tmpVar1;
439 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
440  modelica_metatype* tmp8;
441 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
442  modelica_metatype _$tmpVar0;
443 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
444  int tmp9;
445 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
446  modelica_metatype e_loopVar = 0;
447 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
449 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
450  e_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_outExp), 3)));
451 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
452  tmpMeta[3] = MMC_REFSTRUCTLIT(mmc_nil);
453 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
454  _$tmpVar1 = tmpMeta[3]; /* defaultValue */
455 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
456  tmp8 = &_$tmpVar1;
457 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
458  while(1) {
459 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
460  tmp9 = 1;
461 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
462  if (!listEmpty(e_loopVar)) {
463 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
464  _e = MMC_CAR(e_loopVar);
465 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
466  e_loopVar = MMC_CDR(e_loopVar);
467 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
468  tmp9--;
469 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
470  }
471 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
472  if (tmp9 == 0) {
473 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
474  _$tmpVar0 = omc_NFExpression_splitRecordCref(threadData, _e);
475 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
476  *tmp8 = mmc_mk_cons(_$tmpVar0,0);
477 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
478  tmp8 = &MMC_CDR(*tmp8);
479 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
480  } else if (tmp9 == 1) {
481 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
482  break;
483 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
484  } else {
485 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
486  goto goto_1;
487 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
488  }
489 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
490  }
491 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
492  *tmp8 = mmc_mk_nil();
493 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
494  tmpMeta[2] = _$tmpVar1;
495 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
496  }
497 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
498  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(5));
499 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
500  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_outExp), 5*sizeof(modelica_metatype));
501 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
502  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[3] = tmpMeta[2];
503 #line 4701 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
504  _outExp = tmpMeta[1];
505 #line 505 OMC_FILE
506 #line 4702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
507  tmpMeta[0] = _outExp;
508 #line 508 OMC_FILE
509  goto tmp2_done;
510  }
511  case 2: {
512 
513  /* Pattern matching succeeded */
514 #line 4705 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
515  tmpMeta[0] = _exp;
516 #line 516 OMC_FILE
517  goto tmp2_done;
518  }
519  }
520  goto tmp2_end;
521  tmp2_end: ;
522  }
523  goto goto_1;
524  goto_1:;
525  MMC_THROW_INTERNAL();
526  goto tmp2_done;
527  tmp2_done:;
528  }
529  }
530  _outExp = tmpMeta[0];
531  _return: OMC_LABEL_UNUSED
532  return _outExp;
533 }
struct record_description NFExpression_RECORD__desc
DLLExport modelica_metatype omc_NFInstNode_InstNode_getClass(threadData_t *threadData, modelica_metatype _node)
Definition: NFInstNode.c:4014
m_integer modelica_integer
DLLExport modelica_metatype omc_NFComponentRef_prefixCref(threadData_t *threadData, modelica_metatype _node, modelica_metatype _ty, modelica_metatype _subs, modelica_metatype _restCref)
float mmc_switch_type
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
DLLExport modelica_metatype omc_NFInstNode_InstNode_getType(threadData_t *threadData, modelica_metatype _node)
Definition: NFInstNode.c:3335
DLLExport modelica_metatype omc_NFExpression_splitRecordCref(threadData_t *threadData, modelica_metatype _exp)
Definition: NFExpression.c:345
void * modelica_metatype
DLLExport modelica_metatype omc_NFInstNode_InstNode_scopePath(threadData_t *threadData, modelica_metatype _node, modelica_boolean _includeRoot)
Definition: NFInstNode.c:2858
DLLExport modelica_metatype omc_NFExpandExp_expand(threadData_t *threadData, modelica_metatype _ $in_exp, modelica_boolean *out_expanded)
Definition: NFExpandExp.c:4126
DLLExport modelica_metatype omc_NFClassTree_ClassTree_getComponents(threadData_t *threadData, modelica_metatype _tree)
Definition: NFClassTree.c:3133
DLLExport modelica_metatype omc_NFClass_Class_classTree(threadData_t *threadData, modelica_metatype _cls)
Definition: NFClass.c:1685
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
struct record_description NFExpression_CREF__desc
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_stringValue()

DLLExport modelica_string omc_NFExpression_stringValue ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 17740 of file NFExpression.c.

17741 {
17742  modelica_string _value = NULL;
17743  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
17744  MMC_SO();
17745  _tailrecursive: OMC_LABEL_UNUSED
17746 #line 885 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17747  /* Pattern-matching assignment */
17748 #line 885 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17749  tmpMeta[0] = _exp;
17750 #line 885 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17751  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],2,1) == 0) MMC_THROW_INTERNAL();
17752 #line 885 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17753  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
17754 #line 885 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17755  _value = tmpMeta[1];
17756 #line 17756 OMC_FILE
17757  _return: OMC_LABEL_UNUSED
17758  return _value;
17759 }
modelica_metatype modelica_string
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_NFExpression_subscriptsContains()

DLLExport modelica_boolean omc_NFExpression_subscriptsContains ( threadData_t threadData,
modelica_metatype  _subs,
modelica_fnptr  _func 
)

Definition at line 4603 of file NFExpression.c.

4604 {
4605  modelica_boolean _res;
4606  modelica_boolean tmp1 = 0;
4607  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
4608  MMC_SO();
4609  _tailrecursive: OMC_LABEL_UNUSED
4610 #line 3786 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4611  {
4612 #line 3786 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4613  modelica_metatype _s;
4614 #line 3786 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4615  for (tmpMeta[0] = _subs; !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
4616 #line 3786 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4617  {
4618 #line 3786 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4619  _s = MMC_CAR(tmpMeta[0]);
4620 #line 4620 OMC_FILE
4621  { /* match expression */
4622  modelica_metatype tmp4_1;
4623  tmp4_1 = _s;
4624  {
4625  int tmp4;
4626  {
4627  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
4628  case 4: {
4629 
4630  /* Pattern matching succeeded */
4631 #line 3788 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4632  tmp1 = omc_NFExpression_contains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_s), 2))), ((modelica_fnptr) _func));
4633 #line 4633 OMC_FILE
4634  goto tmp3_done;
4635  }
4636  case 5: {
4637 
4638  /* Pattern matching succeeded */
4639 #line 3789 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4640  tmp1 = omc_NFExpression_contains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_s), 2))), ((modelica_fnptr) _func));
4641 #line 4641 OMC_FILE
4642  goto tmp3_done;
4643  }
4644  case 6: {
4645 
4646  /* Pattern matching succeeded */
4647 #line 3790 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4648  tmp1 = omc_NFExpression_contains(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_s), 2))), ((modelica_fnptr) _func));
4649 #line 4649 OMC_FILE
4650  goto tmp3_done;
4651  }
4652  default:
4653  tmp3_default: OMC_LABEL_UNUSED; {
4654 
4655  /* Pattern matching succeeded */
4656 #line 3791 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4657  tmp1 = 0;
4658 #line 4658 OMC_FILE
4659  goto tmp3_done;
4660  }
4661  }
4662  goto tmp3_end;
4663  tmp3_end: ;
4664  }
4665  goto goto_2;
4666  goto_2:;
4667  MMC_THROW_INTERNAL();
4668  goto tmp3_done;
4669  tmp3_done:;
4670  }
4671  }
4672  _res = tmp1;
4673 
4674 #line 3794 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4675  if(_res)
4676 #line 3794 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4677  {
4678 #line 3795 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4679  goto _return;
4680 #line 4680 OMC_FILE
4681  }
4682  }
4683  }
4684 
4685 #line 3799 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4686  _res = 0;
4687 #line 4687 OMC_FILE
4688  _return: OMC_LABEL_UNUSED
4689  return _res;
4690 }
signed char modelica_boolean
void * modelica_fnptr
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
DLLExport modelica_boolean omc_NFExpression_contains(threadData_t *threadData, modelica_metatype _exp, modelica_fnptr _func)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_toCref()

DLLExport modelica_metatype omc_NFExpression_toCref ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 4112 of file NFExpression.c.

4113 {
4114  modelica_metatype _cref = NULL;
4115  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
4116  MMC_SO();
4117  _tailrecursive: OMC_LABEL_UNUSED
4118 #line 3919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4119  /* Pattern-matching assignment */
4120 #line 3919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4121  tmpMeta[0] = _exp;
4122 #line 3919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4123  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],5,2) == 0) MMC_THROW_INTERNAL();
4124 #line 3919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4125  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
4126 #line 3919 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
4127  _cref = tmpMeta[1];
4128 #line 4128 OMC_FILE
4129  _return: OMC_LABEL_UNUSED
4130  return _cref;
4131 }
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_toDAE()

DLLExport modelica_metatype omc_NFExpression_toDAE ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 13670 of file NFExpression.c.

13671 {
13672  modelica_metatype _dexp = NULL;
13673  modelica_boolean _changed;
13674  modelica_metatype tmpMeta[5] __attribute__((unused)) = {0};
13675  MMC_SO();
13676  _tailrecursive: OMC_LABEL_UNUSED
13677  _changed = 1;
13678 #line 13678 OMC_FILE
13679  { /* match expression */
13680  modelica_metatype tmp3_1;
13681  tmp3_1 = _exp;
13682  {
13683  modelica_metatype _ty = NULL;
13684  modelica_metatype _daeOp = NULL;
13685  modelica_boolean _swap;
13686  modelica_metatype _dae1 = NULL;
13687  modelica_metatype _dae2 = NULL;
13688  modelica_metatype _names = NULL;
13689  modelica_metatype _fn = NULL;
13690  volatile mmc_switch_type tmp3;
13691  int tmp4;
13692  tmp3 = 0;
13693  for (; tmp3 < 28; tmp3++) {
13694  switch (MMC_SWITCH_CAST(tmp3)) {
13695  case 0: {
13696  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,1) == 0) goto tmp2_end;
13697 
13698  /* Pattern matching succeeded */
13699 #line 1584 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13700  tmpMeta[1] = mmc_mk_box2(3, &DAE_Exp_ICONST__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
13701 #line 1584 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13702  tmpMeta[0] = tmpMeta[1];
13703 #line 13703 OMC_FILE
13704  goto tmp2_done;
13705  }
13706  case 1: {
13707  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,1) == 0) goto tmp2_end;
13708 
13709  /* Pattern matching succeeded */
13710 #line 1585 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13711  tmpMeta[1] = mmc_mk_box2(4, &DAE_Exp_RCONST__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
13712 #line 1585 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13713  tmpMeta[0] = tmpMeta[1];
13714 #line 13714 OMC_FILE
13715  goto tmp2_done;
13716  }
13717  case 2: {
13718  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,2,1) == 0) goto tmp2_end;
13719 
13720  /* Pattern matching succeeded */
13721 #line 1586 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13722  tmpMeta[1] = mmc_mk_box2(5, &DAE_Exp_SCONST__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
13723 #line 1586 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13724  tmpMeta[0] = tmpMeta[1];
13725 #line 13725 OMC_FILE
13726  goto tmp2_done;
13727  }
13728  case 3: {
13729  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,3,1) == 0) goto tmp2_end;
13730 
13731  /* Pattern matching succeeded */
13732 #line 1587 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13733  tmpMeta[1] = mmc_mk_box2(6, &DAE_Exp_BCONST__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
13734 #line 1587 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13735  tmpMeta[0] = tmpMeta[1];
13736 #line 13736 OMC_FILE
13737  goto tmp2_done;
13738  }
13739  case 4: {
13740  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,4,3) == 0) goto tmp2_end;
13741  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
13742  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,2) == 0) goto tmp2_end;
13743 
13744  _ty = tmpMeta[1];
13745  /* Pattern matching succeeded */
13746 #line 1589 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13747  tmpMeta[1] = mmc_mk_box3(8, &DAE_Exp_ENUM__LITERAL__desc, omc_Absyn_suffixPath(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_ty), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
13748 #line 1589 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13749  tmpMeta[0] = tmpMeta[1];
13750 #line 13750 OMC_FILE
13751  goto tmp2_done;
13752  }
13753  case 5: {
13754  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,29,1) == 0) goto tmp2_end;
13755 
13756  /* Pattern matching succeeded */
13757 #line 1592 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13758  tmpMeta[1] = mmc_mk_box2(7, &DAE_Exp_CLKCONST__desc, omc_NFExpression_ClockKind_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))));
13759 #line 1592 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13760  tmpMeta[0] = tmpMeta[1];
13761 #line 13761 OMC_FILE
13762  goto tmp2_done;
13763  }
13764  case 6: {
13765  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,5,2) == 0) goto tmp2_end;
13766 
13767  /* Pattern matching succeeded */
13768 #line 1595 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13769  tmpMeta[1] = mmc_mk_box3(9, &DAE_Exp_CREF__desc, omc_NFComponentRef_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))), omc_NFType_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), 1));
13770 #line 1595 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13771  tmpMeta[0] = tmpMeta[1];
13772 #line 13772 OMC_FILE
13773  goto tmp2_done;
13774  }
13775  case 7: {
13776  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,6,1) == 0) goto tmp2_end;
13777 
13778  /* Pattern matching succeeded */
13779 #line 1598 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13780  /* Tail recursive call */
13781 #line 1598 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13782  _exp = omc_NFExpandExp_expandTypename(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
13783 #line 1598 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13784  goto _tailrecursive;
13785 #line 1598 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13786  /* TODO: Make sure any eventual dead code below is never generated */
13787 #line 13787 OMC_FILE
13788  goto tmp2_done;
13789  }
13790  case 8: {
13791  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,7,3) == 0) goto tmp2_end;
13792 
13793  /* Pattern matching succeeded */
13794 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13795  {
13796 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13797  modelica_metatype _$tmpVar61;
13798 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13799  modelica_metatype* tmp5;
13800 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13801  modelica_metatype _$tmpVar60;
13802 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13803  int tmp6;
13804 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13805  modelica_metatype e_loopVar = 0;
13806 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13807  modelica_metatype _e;
13808 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13809  e_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
13810 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13811  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
13812 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13813  _$tmpVar61 = tmpMeta[2]; /* defaultValue */
13814 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13815  tmp5 = &_$tmpVar61;
13816 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13817  while(1) {
13818 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13819  tmp6 = 1;
13820 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13821  if (!listEmpty(e_loopVar)) {
13822 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13823  _e = MMC_CAR(e_loopVar);
13824 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13825  e_loopVar = MMC_CDR(e_loopVar);
13826 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13827  tmp6--;
13828 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13829  }
13830 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13831  if (tmp6 == 0) {
13832 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13833  _$tmpVar60 = omc_NFExpression_toDAE(threadData, _e);
13834 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13835  *tmp5 = mmc_mk_cons(_$tmpVar60,0);
13836 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13837  tmp5 = &MMC_CDR(*tmp5);
13838 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13839  } else if (tmp6 == 1) {
13840 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13841  break;
13842 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13843  } else {
13844 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13845  goto goto_1;
13846 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13847  }
13848 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13849  }
13850 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13851  *tmp5 = mmc_mk_nil();
13852 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13853  tmpMeta[1] = _$tmpVar61;
13854 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13855  }
13856 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13857  tmpMeta[3] = mmc_mk_box4(19, &DAE_Exp_ARRAY__desc, omc_NFType_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), 1), mmc_mk_boolean(omc_NFType_isScalarArray(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))))), tmpMeta[1]);
13858 #line 1601 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13859  tmpMeta[0] = tmpMeta[3];
13860 #line 13860 OMC_FILE
13861  goto tmp2_done;
13862  }
13863  case 9: {
13864  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,11,3) == 0) goto tmp2_end;
13865  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
13866  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],11,2) == 0) goto tmp2_end;
13867  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
13868  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[2],3,2) == 0) goto tmp2_end;
13869  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[2]), 3));
13870 
13871  _names = tmpMeta[3];
13872  /* Pattern matching succeeded */
13873 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13874  {
13875 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13876  modelica_metatype _$tmpVar63;
13877 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13878  modelica_metatype* tmp7;
13879 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13880  modelica_metatype _$tmpVar62;
13881 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13882  int tmp8;
13883 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13884  modelica_metatype e_loopVar = 0;
13885 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13886  modelica_metatype _e;
13887 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13888  e_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4)));
13889 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13890  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
13891 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13892  _$tmpVar63 = tmpMeta[2]; /* defaultValue */
13893 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13894  tmp7 = &_$tmpVar63;
13895 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13896  while(1) {
13897 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13898  tmp8 = 1;
13899 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13900  if (!listEmpty(e_loopVar)) {
13901 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13902  _e = MMC_CAR(e_loopVar);
13903 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13904  e_loopVar = MMC_CDR(e_loopVar);
13905 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13906  tmp8--;
13907 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13908  }
13909 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13910  if (tmp8 == 0) {
13911 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13912  _$tmpVar62 = omc_NFExpression_toDAE(threadData, _e);
13913 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13914  *tmp7 = mmc_mk_cons(_$tmpVar62,0);
13915 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13916  tmp7 = &MMC_CDR(*tmp7);
13917 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13918  } else if (tmp8 == 1) {
13919 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13920  break;
13921 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13922  } else {
13923 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13924  goto goto_1;
13925 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13926  }
13927 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13928  }
13929 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13930  *tmp7 = mmc_mk_nil();
13931 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13932  tmpMeta[1] = _$tmpVar63;
13933 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13934  }
13935 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13936  tmpMeta[3] = mmc_mk_box5(17, &DAE_Exp_RECORD__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), tmpMeta[1], _names, omc_NFType_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), 1));
13937 #line 1605 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13938  tmpMeta[0] = tmpMeta[3];
13939 #line 13939 OMC_FILE
13940  goto tmp2_done;
13941  }
13942  case 10: {
13943  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,9,4) == 0) goto tmp2_end;
13944 
13945  /* Pattern matching succeeded */
13946 #line 1608 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13947  tmpMeta[1] = mmc_mk_box5(21, &DAE_Exp_RANGE__desc, omc_NFType_toDAE(threadData, omc_NFType_arrayElementType(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))), 1), omc_NFExpression_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))), (isSome((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))))?mmc_mk_some(omc_NFExpression_toDAE(threadData, omc_Util_getOption(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4)))))):mmc_mk_none()), omc_NFExpression_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5)))));
13948 #line 1608 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13949  tmpMeta[0] = tmpMeta[1];
13950 #line 13950 OMC_FILE
13951  goto tmp2_done;
13952  }
13953  case 11: {
13954  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,10,2) == 0) goto tmp2_end;
13955 
13956  /* Pattern matching succeeded */
13957 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13958  {
13959 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13960  modelica_metatype _$tmpVar65;
13961 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13962  modelica_metatype* tmp9;
13963 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13964  modelica_metatype _$tmpVar64;
13965 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13966  int tmp10;
13967 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13968  modelica_metatype e_loopVar = 0;
13969 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13970  modelica_metatype _e;
13971 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13972  e_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
13973 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13974  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
13975 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13976  _$tmpVar65 = tmpMeta[2]; /* defaultValue */
13977 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13978  tmp9 = &_$tmpVar65;
13979 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13980  while(1) {
13981 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13982  tmp10 = 1;
13983 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13984  if (!listEmpty(e_loopVar)) {
13985 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13986  _e = MMC_CAR(e_loopVar);
13987 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13988  e_loopVar = MMC_CDR(e_loopVar);
13989 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13990  tmp10--;
13991 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13992  }
13993 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13994  if (tmp10 == 0) {
13995 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13996  _$tmpVar64 = omc_NFExpression_toDAE(threadData, _e);
13997 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13998  *tmp9 = mmc_mk_cons(_$tmpVar64,0);
13999 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14000  tmp9 = &MMC_CDR(*tmp9);
14001 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14002  } else if (tmp10 == 1) {
14003 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14004  break;
14005 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14006  } else {
14007 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14008  goto goto_1;
14009 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14010  }
14011 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14012  }
14013 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14014  *tmp9 = mmc_mk_nil();
14015 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14016  tmpMeta[1] = _$tmpVar65;
14017 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14018  }
14019 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14020  tmpMeta[3] = mmc_mk_box2(22, &DAE_Exp_TUPLE__desc, tmpMeta[1]);
14021 #line 1616 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14022  tmpMeta[0] = tmpMeta[3];
14023 #line 14023 OMC_FILE
14024  goto tmp2_done;
14025  }
14026  case 12: {
14027  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,12,1) == 0) goto tmp2_end;
14028 
14029  /* Pattern matching succeeded */
14030 #line 1617 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14031  tmpMeta[0] = omc_NFCall_Call_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
14032 #line 14032 OMC_FILE
14033  goto tmp2_done;
14034  }
14035  case 13: {
14036  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,13,2) == 0) goto tmp2_end;
14037 
14038  /* Pattern matching succeeded */
14039 #line 1620 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14040  tmpMeta[1] = mmc_mk_box3(27, &DAE_Exp_SIZE__desc, omc_NFExpression_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))), (isSome((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))))?mmc_mk_some(omc_NFExpression_toDAE(threadData, omc_Util_getOption(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))))):mmc_mk_none()));
14041 #line 1620 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14042  tmpMeta[0] = tmpMeta[1];
14043 #line 14043 OMC_FILE
14044  goto tmp2_done;
14045  }
14046  case 14: {
14047  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,15,3) == 0) goto tmp2_end;
14048 
14049  /* Pattern matching succeeded */
14050 #line 1629 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14051  _daeOp = omc_NFOperator_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))) ,&_swap);
14052 #line 14052 OMC_FILE
14053 
14054 #line 1630 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14055  _dae1 = omc_NFExpression_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
14056 #line 14056 OMC_FILE
14057 
14058 #line 1631 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14059  _dae2 = omc_NFExpression_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
14060 #line 14060 OMC_FILE
14061 #line 1632 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14062  tmpMeta[1] = mmc_mk_box4(10, &DAE_Exp_BINARY__desc, (_swap?_dae2:_dae1), _daeOp, (_swap?_dae1:_dae2));
14063 #line 1632 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14064  tmpMeta[0] = tmpMeta[1];
14065 #line 14065 OMC_FILE
14066  goto tmp2_done;
14067  }
14068  case 15: {
14069  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,16,2) == 0) goto tmp2_end;
14070 
14071  /* Pattern matching succeeded */
14072 #line 1635 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14073  tmpMeta[1] = mmc_mk_box3(11, &DAE_Exp_UNARY__desc, omc_NFOperator_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), NULL), omc_NFExpression_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))));
14074 #line 1635 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14075  tmpMeta[0] = tmpMeta[1];
14076 #line 14076 OMC_FILE
14077  goto tmp2_done;
14078  }
14079  case 16: {
14080  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,17,3) == 0) goto tmp2_end;
14081 
14082  /* Pattern matching succeeded */
14083 #line 1638 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14084  tmpMeta[1] = mmc_mk_box4(12, &DAE_Exp_LBINARY__desc, omc_NFExpression_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))), omc_NFOperator_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), NULL), omc_NFExpression_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4)))));
14085 #line 1638 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14086  tmpMeta[0] = tmpMeta[1];
14087 #line 14087 OMC_FILE
14088  goto tmp2_done;
14089  }
14090  case 17: {
14091  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,18,2) == 0) goto tmp2_end;
14092 
14093  /* Pattern matching succeeded */
14094 #line 1641 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14095  tmpMeta[1] = mmc_mk_box3(13, &DAE_Exp_LUNARY__desc, omc_NFOperator_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), NULL), omc_NFExpression_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))));
14096 #line 1641 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14097  tmpMeta[0] = tmpMeta[1];
14098 #line 14098 OMC_FILE
14099  goto tmp2_done;
14100  }
14101  case 18: {
14102  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,19,3) == 0) goto tmp2_end;
14103 
14104  /* Pattern matching succeeded */
14105 #line 1644 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14106  tmpMeta[1] = mmc_mk_box6(14, &DAE_Exp_RELATION__desc, omc_NFExpression_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))), omc_NFOperator_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), NULL), omc_NFExpression_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4)))), mmc_mk_integer(((modelica_integer) -1)), mmc_mk_none());
14107 #line 1644 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14108  tmpMeta[0] = tmpMeta[1];
14109 #line 14109 OMC_FILE
14110  goto tmp2_done;
14111  }
14112  case 19: {
14113  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,20,3) == 0) goto tmp2_end;
14114 
14115  /* Pattern matching succeeded */
14116 #line 1647 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14117  tmpMeta[1] = mmc_mk_box4(15, &DAE_Exp_IFEXP__desc, omc_NFExpression_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))), omc_NFExpression_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))), omc_NFExpression_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4)))));
14118 #line 1647 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14119  tmpMeta[0] = tmpMeta[1];
14120 #line 14120 OMC_FILE
14121  goto tmp2_done;
14122  }
14123  case 20: {
14124  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,21,2) == 0) goto tmp2_end;
14125 
14126  /* Pattern matching succeeded */
14127 #line 1649 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14128  tmpMeta[1] = mmc_mk_box3(23, &DAE_Exp_CAST__desc, omc_NFType_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), 1), omc_NFExpression_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))));
14129 #line 1649 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14130  tmpMeta[0] = tmpMeta[1];
14131 #line 14131 OMC_FILE
14132  goto tmp2_done;
14133  }
14134  case 21: {
14135  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,26,1) == 0) goto tmp2_end;
14136 
14137  /* Pattern matching succeeded */
14138 #line 1652 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14139  tmpMeta[1] = mmc_mk_box2(37, &DAE_Exp_BOX__desc, omc_NFExpression_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))));
14140 #line 1652 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14141  tmpMeta[0] = tmpMeta[1];
14142 #line 14142 OMC_FILE
14143  goto tmp2_done;
14144  }
14145  case 22: {
14146  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,22,2) == 0) goto tmp2_end;
14147 
14148  /* Pattern matching succeeded */
14149 #line 1655 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14150  tmpMeta[1] = mmc_mk_box3(38, &DAE_Exp_UNBOX__desc, omc_NFExpression_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))), omc_NFType_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), 1));
14151 #line 1655 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14152  tmpMeta[0] = tmpMeta[1];
14153 #line 14153 OMC_FILE
14154  goto tmp2_done;
14155  }
14156  case 23: {
14157  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,23,3) == 0) goto tmp2_end;
14158 
14159  /* Pattern matching succeeded */
14160 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14161  {
14162 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14163  modelica_metatype _$tmpVar67;
14164 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14165  modelica_metatype* tmp11;
14166 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14167  modelica_metatype _$tmpVar66;
14168 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14169  int tmp12;
14170 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14171  modelica_metatype s_loopVar = 0;
14172 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14173  modelica_metatype _s;
14174 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14175  s_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
14176 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14177  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
14178 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14179  _$tmpVar67 = tmpMeta[2]; /* defaultValue */
14180 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14181  tmp11 = &_$tmpVar67;
14182 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14183  while(1) {
14184 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14185  tmp12 = 1;
14186 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14187  if (!listEmpty(s_loopVar)) {
14188 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14189  _s = MMC_CAR(s_loopVar);
14190 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14191  s_loopVar = MMC_CDR(s_loopVar);
14192 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14193  tmp12--;
14194 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14195  }
14196 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14197  if (tmp12 == 0) {
14198 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14199  _$tmpVar66 = omc_NFSubscript_toDAEExp(threadData, _s);
14200 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14201  *tmp11 = mmc_mk_cons(_$tmpVar66,0);
14202 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14203  tmp11 = &MMC_CDR(*tmp11);
14204 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14205  } else if (tmp12 == 1) {
14206 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14207  break;
14208 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14209  } else {
14210 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14211  goto goto_1;
14212 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14213  }
14214 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14215  }
14216 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14217  *tmp11 = mmc_mk_nil();
14218 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14219  tmpMeta[1] = _$tmpVar67;
14220 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14221  }
14222 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14223  tmpMeta[3] = mmc_mk_box3(24, &DAE_Exp_ASUB__desc, omc_NFExpression_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))), tmpMeta[1]);
14224 #line 1658 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14225  tmpMeta[0] = tmpMeta[3];
14226 #line 14226 OMC_FILE
14227  goto tmp2_done;
14228  }
14229  case 24: {
14230  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,24,3) == 0) goto tmp2_end;
14231 
14232  /* Pattern matching succeeded */
14233 #line 1661 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14234  tmpMeta[1] = mmc_mk_box4(25, &DAE_Exp_TSUB__desc, omc_NFExpression_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), omc_NFType_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), 1));
14235 #line 1661 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14236  tmpMeta[0] = tmpMeta[1];
14237 #line 14237 OMC_FILE
14238  goto tmp2_done;
14239  }
14240  case 25: {
14241  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,25,4) == 0) goto tmp2_end;
14242 
14243  /* Pattern matching succeeded */
14244 #line 1664 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14245  tmpMeta[1] = mmc_mk_box5(26, &DAE_Exp_RSUB__desc, omc_NFExpression_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), omc_NFType_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))), 1));
14246 #line 1664 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14247  tmpMeta[0] = tmpMeta[1];
14248 #line 14248 OMC_FILE
14249  goto tmp2_done;
14250  }
14251  case 26: {
14252  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,30,4) == 0) goto tmp2_end;
14253 
14254  /* Pattern matching succeeded */
14255 #line 1668 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14256  /* Pattern-matching assignment */
14257 #line 1668 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14258  tmpMeta[1] = omc_NFFunction_Function_typeRefCache(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
14259 #line 1668 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14260  if (listEmpty(tmpMeta[1])) goto goto_1;
14261 #line 1668 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14262  tmpMeta[2] = MMC_CAR(tmpMeta[1]);
14263 #line 1668 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14264  tmpMeta[3] = MMC_CDR(tmpMeta[1]);
14265 #line 1668 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14266  _fn = tmpMeta[2];
14267 #line 14267 OMC_FILE
14268 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14269  {
14270 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14271  modelica_metatype _$tmpVar69;
14272 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14273  modelica_metatype* tmp13;
14274 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14275  modelica_metatype _$tmpVar68;
14276 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14277  int tmp14;
14278 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14279  modelica_metatype arg_loopVar = 0;
14280 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14281  modelica_metatype _arg;
14282 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14283  arg_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
14284 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14285  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
14286 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14287  _$tmpVar69 = tmpMeta[2]; /* defaultValue */
14288 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14289  tmp13 = &_$tmpVar69;
14290 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14291  while(1) {
14292 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14293  tmp14 = 1;
14294 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14295  if (!listEmpty(arg_loopVar)) {
14296 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14297  _arg = MMC_CAR(arg_loopVar);
14298 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14299  arg_loopVar = MMC_CDR(arg_loopVar);
14300 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14301  tmp14--;
14302 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14303  }
14304 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14305  if (tmp14 == 0) {
14306 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14307  _$tmpVar68 = omc_NFExpression_toDAE(threadData, _arg);
14308 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14309  *tmp13 = mmc_mk_cons(_$tmpVar68,0);
14310 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14311  tmp13 = &MMC_CDR(*tmp13);
14312 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14313  } else if (tmp14 == 1) {
14314 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14315  break;
14316 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14317  } else {
14318 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14319  goto goto_1;
14320 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14321  }
14322 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14323  }
14324 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14325  *tmp13 = mmc_mk_nil();
14326 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14327  tmpMeta[1] = _$tmpVar69;
14328 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14329  }
14330 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14331  tmpMeta[3] = mmc_mk_box3(15, &NFType_FUNCTION__desc, _fn, mmc_mk_integer(3));
14332 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14333  tmpMeta[4] = mmc_mk_box5(18, &DAE_Exp_PARTEVALFUNCTION__desc, omc_NFFunction_Function_nameConsiderBuiltin(threadData, _fn), tmpMeta[1], omc_NFType_toDAE(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))), 1), omc_NFType_toDAE(threadData, tmpMeta[3], 1));
14334 #line 1669 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14335  tmpMeta[0] = tmpMeta[4];
14336 #line 14336 OMC_FILE
14337  goto tmp2_done;
14338  }
14339  case 27: {
14340 
14341  /* Pattern matching succeeded */
14342 #line 1677 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14343  tmpMeta[1] = stringAppend(_OMC_LIT45,omc_NFExpression_toString(threadData, _exp));
14344 #line 1677 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14345  tmpMeta[2] = stringAppend(tmpMeta[1],_OMC_LIT46);
14346 #line 1677 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14347  omc_Error_assertion(threadData, 0, tmpMeta[2], _OMC_LIT47);
14348 #line 14348 OMC_FILE
14349 #line 1678 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14350  goto goto_1;
14351 #line 14351 OMC_FILE
14352  goto tmp2_done;
14353  }
14354  }
14355  goto tmp2_end;
14356  tmp2_end: ;
14357  }
14358  goto goto_1;
14359  goto_1:;
14360  MMC_THROW_INTERNAL();
14361  goto tmp2_done;
14362  tmp2_done:;
14363  }
14364  }
14365  _dexp = tmpMeta[0];
14366  _return: OMC_LABEL_UNUSED
14367  return _dexp;
14368 }
DLLExport modelica_metatype omc_NFOperator_toDAE(threadData_t *threadData, modelica_metatype _op, modelica_boolean *out_swapArguments)
Definition: NFOperator.c:1478
DLLExport modelica_metatype omc_NFSubscript_toDAEExp(threadData_t *threadData, modelica_metatype _subscript)
Definition: NFSubscript.c:1318
struct record_description DAE_Exp_BOX__desc
Definition: DAE_records.c:5737
struct record_description DAE_Exp_RCONST__desc
Definition: DAE_records.c:5308
struct record_description DAE_Exp_TSUB__desc
Definition: DAE_records.c:5581
struct record_description DAE_Exp_RELATION__desc
Definition: DAE_records.c:5438
m_integer modelica_integer
signed char modelica_boolean
struct record_description DAE_Exp_LUNARY__desc
Definition: DAE_records.c:5425
struct record_description DAE_Exp_RANGE__desc
Definition: DAE_records.c:5529
struct record_description DAE_Exp_ARRAY__desc
Definition: DAE_records.c:5503
float mmc_switch_type
struct record_description DAE_Exp_BCONST__desc
Definition: DAE_records.c:5334
DLLExport modelica_metatype omc_NFFunction_Function_nameConsiderBuiltin(threadData_t *threadData, modelica_metatype _fn)
Definition: NFFunction.c:5873
struct record_description DAE_Exp_BINARY__desc
Definition: DAE_records.c:5386
DLLExport void omc_Error_assertion(threadData_t *threadData, modelica_boolean _b, modelica_string _message, modelica_metatype _info)
Definition: Error.c:325
struct record_description DAE_Exp_SIZE__desc
Definition: DAE_records.c:5607
struct record_description DAE_Exp_ENUM__LITERAL__desc
Definition: DAE_records.c:5360
struct record_description DAE_Exp_IFEXP__desc
Definition: DAE_records.c:5451
DLLExport modelica_metatype omc_Util_getOption(threadData_t *threadData, modelica_metatype _inOption)
Definition: Util.c:3546
DLLExport modelica_metatype omc_NFFunction_Function_typeRefCache(threadData_t *threadData, modelica_metatype _functionRef)
Definition: NFFunction.c:3847
modelica_string stringAppend(modelica_string s1, modelica_string s2)
struct record_description DAE_Exp_ICONST__desc
Definition: DAE_records.c:5295
DLLExport modelica_string omc_NFExpression_toString(threadData_t *threadData, modelica_metatype _exp)
struct record_description DAE_Exp_CREF__desc
Definition: DAE_records.c:5373
struct record_description DAE_Exp_UNBOX__desc
Definition: DAE_records.c:5750
DLLExport modelica_metatype omc_NFComponentRef_toDAE(threadData_t *threadData, modelica_metatype _cref)
DLLExport modelica_metatype omc_Absyn_suffixPath(threadData_t *threadData, modelica_metatype _inPath, modelica_string _inSuffix)
Definition: Absyn.c:15126
ADD_METARECORD_DEFINITIONS struct record_description DAE_Exp_RSUB__desc
Definition: DAE_records.c:5587
struct record_description DAE_Exp_TUPLE__desc
Definition: DAE_records.c:5542
void * modelica_metatype
struct record_description DAE_Exp_CAST__desc
Definition: DAE_records.c:5555
struct record_description DAE_Exp_LBINARY__desc
Definition: DAE_records.c:5412
DLLExport modelica_metatype omc_NFType_toDAE(threadData_t *threadData, modelica_metatype _ty, modelica_boolean _makeTypeVars)
Definition: NFType.c:801
struct record_description DAE_Exp_UNARY__desc
Definition: DAE_records.c:5399
struct record_description NFType_FUNCTION__desc
DLLExport modelica_metatype omc_NFExpression_ClockKind_toDAE(threadData_t *threadData, modelica_metatype _ick)
struct record_description DAE_Exp_PARTEVALFUNCTION__desc
Definition: DAE_records.c:5490
ADD_METARECORD_DEFINITIONS struct record_description DAE_Exp_RECORD__desc
Definition: DAE_records.c:5470
DLLExport modelica_metatype omc_NFExpandExp_expandTypename(threadData_t *threadData, modelica_metatype _ty)
Definition: NFExpandExp.c:3560
DLLExport modelica_metatype omc_NFType_arrayElementType(threadData_t *threadData, modelica_metatype _ty)
Definition: NFType.c:2233
DLLExport modelica_boolean omc_NFType_isScalarArray(threadData_t *threadData, modelica_metatype _ty)
Definition: NFType.c:2931
struct record_description DAE_Exp_ASUB__desc
Definition: DAE_records.c:5568
struct record_description DAE_Exp_CLKCONST__desc
Definition: DAE_records.c:5347
DLLExport modelica_metatype omc_NFCall_Call_toDAE(threadData_t *threadData, modelica_metatype _call)
Definition: NFCall.c:2801
struct record_description DAE_Exp_SCONST__desc
Definition: DAE_records.c:5321
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
DLLExport modelica_metatype omc_NFExpression_toDAE(threadData_t *threadData, modelica_metatype _exp)
Here is the caller graph for this function:

◆ omc_NFExpression_toDAEOpt()

DLLExport modelica_metatype omc_NFExpression_toDAEOpt ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 14371 of file NFExpression.c.

14372 {
14373  modelica_metatype _dexp = NULL;
14374  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
14375  MMC_SO();
14376  _tailrecursive: OMC_LABEL_UNUSED
14377 #line 14377 OMC_FILE
14378  { /* match expression */
14379  modelica_metatype tmp3_1;
14380  tmp3_1 = _exp;
14381  {
14382  modelica_metatype _e = NULL;
14383  volatile mmc_switch_type tmp3;
14384  int tmp4;
14385  tmp3 = 0;
14386  for (; tmp3 < 2; tmp3++) {
14387  switch (MMC_SWITCH_CAST(tmp3)) {
14388  case 0: {
14389  if (optionNone(tmp3_1)) goto tmp2_end;
14390  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 1));
14391  _e = tmpMeta[1];
14392  /* Pattern matching succeeded */
14393 #line 1564 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14394  tmpMeta[0] = mmc_mk_some(omc_NFExpression_toDAE(threadData, _e));
14395 #line 14395 OMC_FILE
14396  goto tmp2_done;
14397  }
14398  case 1: {
14399 
14400  /* Pattern matching succeeded */
14401 #line 1565 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14402  tmpMeta[0] = mmc_mk_none();
14403 #line 14403 OMC_FILE
14404  goto tmp2_done;
14405  }
14406  }
14407  goto tmp2_end;
14408  tmp2_end: ;
14409  }
14410  goto goto_1;
14411  goto_1:;
14412  MMC_THROW_INTERNAL();
14413  goto tmp2_done;
14414  tmp2_done:;
14415  }
14416  }
14417  _dexp = tmpMeta[0];
14418  _return: OMC_LABEL_UNUSED
14419  return _dexp;
14420 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
DLLExport modelica_metatype omc_NFExpression_toDAE(threadData_t *threadData, modelica_metatype _exp)

◆ omc_NFExpression_toDAEValue()

DLLExport modelica_metatype omc_NFExpression_toDAEValue ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 13490 of file NFExpression.c.

13491 {
13492  modelica_metatype _value = NULL;
13493  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
13494  MMC_SO();
13495  _tailrecursive: OMC_LABEL_UNUSED
13496 #line 13496 OMC_FILE
13497  { /* match expression */
13498  modelica_metatype tmp3_1;
13499  tmp3_1 = _exp;
13500  {
13501  modelica_metatype _ty = NULL;
13502  modelica_metatype _vals = NULL;
13503  volatile mmc_switch_type tmp3;
13504  int tmp4;
13505  tmp3 = 0;
13506  for (; tmp3 < 7; tmp3++) {
13507  switch (MMC_SWITCH_CAST(tmp3)) {
13508  case 0: {
13509  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,1) == 0) goto tmp2_end;
13510 
13511  /* Pattern matching succeeded */
13512 #line 1693 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13513  tmpMeta[1] = mmc_mk_box2(3, &Values_Value_INTEGER__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
13514 #line 1693 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13515  tmpMeta[0] = tmpMeta[1];
13516 #line 13516 OMC_FILE
13517  goto tmp2_done;
13518  }
13519  case 1: {
13520  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,1) == 0) goto tmp2_end;
13521 
13522  /* Pattern matching succeeded */
13523 #line 1694 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13524  tmpMeta[1] = mmc_mk_box2(4, &Values_Value_REAL__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
13525 #line 1694 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13526  tmpMeta[0] = tmpMeta[1];
13527 #line 13527 OMC_FILE
13528  goto tmp2_done;
13529  }
13530  case 2: {
13531  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,2,1) == 0) goto tmp2_end;
13532 
13533  /* Pattern matching succeeded */
13534 #line 1695 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13535  tmpMeta[1] = mmc_mk_box2(5, &Values_Value_STRING__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
13536 #line 1695 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13537  tmpMeta[0] = tmpMeta[1];
13538 #line 13538 OMC_FILE
13539  goto tmp2_done;
13540  }
13541  case 3: {
13542  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,3,1) == 0) goto tmp2_end;
13543 
13544  /* Pattern matching succeeded */
13545 #line 1696 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13546  tmpMeta[1] = mmc_mk_box2(6, &Values_Value_BOOL__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
13547 #line 1696 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13548  tmpMeta[0] = tmpMeta[1];
13549 #line 13549 OMC_FILE
13550  goto tmp2_done;
13551  }
13552  case 4: {
13553  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,4,3) == 0) goto tmp2_end;
13554  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
13555  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],5,2) == 0) goto tmp2_end;
13556 
13557  _ty = tmpMeta[1];
13558  /* Pattern matching succeeded */
13559 #line 1698 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13560  tmpMeta[1] = mmc_mk_box3(7, &Values_Value_ENUM__LITERAL__desc, omc_Absyn_suffixPath(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_ty), 2))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))), (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
13561 #line 1698 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13562  tmpMeta[0] = tmpMeta[1];
13563 #line 13563 OMC_FILE
13564  goto tmp2_done;
13565  }
13566  case 5: {
13567  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,7,3) == 0) goto tmp2_end;
13568 
13569  /* Pattern matching succeeded */
13570 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13571  {
13572 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13573  modelica_metatype _$tmpVar59;
13574 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13575  modelica_metatype* tmp5;
13576 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13577  modelica_metatype _$tmpVar58;
13578 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13579  int tmp6;
13580 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13581  modelica_metatype e_loopVar = 0;
13582 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13583  modelica_metatype _e;
13584 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13585  e_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
13586 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13587  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
13588 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13589  _$tmpVar59 = tmpMeta[2]; /* defaultValue */
13590 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13591  tmp5 = &_$tmpVar59;
13592 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13593  while(1) {
13594 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13595  tmp6 = 1;
13596 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13597  if (!listEmpty(e_loopVar)) {
13598 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13599  _e = MMC_CAR(e_loopVar);
13600 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13601  e_loopVar = MMC_CDR(e_loopVar);
13602 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13603  tmp6--;
13604 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13605  }
13606 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13607  if (tmp6 == 0) {
13608 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13609  _$tmpVar58 = omc_NFExpression_toDAEValue(threadData, _e);
13610 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13611  *tmp5 = mmc_mk_cons(_$tmpVar58,0);
13612 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13613  tmp5 = &MMC_CDR(*tmp5);
13614 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13615  } else if (tmp6 == 1) {
13616 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13617  break;
13618 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13619  } else {
13620 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13621  goto goto_1;
13622 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13623  }
13624 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13625  }
13626 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13627  *tmp5 = mmc_mk_nil();
13628 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13629  tmpMeta[1] = _$tmpVar59;
13630 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13631  }
13632 #line 1702 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13633  _vals = tmpMeta[1];
13634 #line 13634 OMC_FILE
13635 #line 1703 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13636  tmpMeta[0] = omc_ValuesUtil_makeArray(threadData, _vals);
13637 #line 13637 OMC_FILE
13638  goto tmp2_done;
13639  }
13640  case 6: {
13641 
13642  /* Pattern matching succeeded */
13643 #line 1708 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13644  tmpMeta[1] = stringAppend(_OMC_LIT43,omc_NFExpression_toString(threadData, _exp));
13645 #line 1708 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13646  omc_Error_assertion(threadData, 0, tmpMeta[1], _OMC_LIT44);
13647 #line 13647 OMC_FILE
13648 #line 1709 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
13649  goto goto_1;
13650 #line 13650 OMC_FILE
13651  goto tmp2_done;
13652  }
13653  }
13654  goto tmp2_end;
13655  tmp2_end: ;
13656  }
13657  goto goto_1;
13658  goto_1:;
13659  MMC_THROW_INTERNAL();
13660  goto tmp2_done;
13661  tmp2_done:;
13662  }
13663  }
13664  _value = tmpMeta[0];
13665  _return: OMC_LABEL_UNUSED
13666  return _value;
13667 }
ADD_METARECORD_DEFINITIONS struct record_description Values_Value_BOOL__desc
float mmc_switch_type
DLLExport void omc_Error_assertion(threadData_t *threadData, modelica_boolean _b, modelica_string _message, modelica_metatype _info)
Definition: Error.c:325
ADD_METARECORD_DEFINITIONS struct record_description Values_Value_ENUM__LITERAL__desc
ADD_METARECORD_DEFINITIONS struct record_description Values_Value_INTEGER__desc
DLLExport modelica_metatype omc_ValuesUtil_makeArray(threadData_t *threadData, modelica_metatype _inValueLst)
Definition: ValuesUtil.c:2953
modelica_string stringAppend(modelica_string s1, modelica_string s2)
ADD_METARECORD_DEFINITIONS struct record_description Values_Value_STRING__desc
DLLExport modelica_string omc_NFExpression_toString(threadData_t *threadData, modelica_metatype _exp)
DLLExport modelica_metatype omc_Absyn_suffixPath(threadData_t *threadData, modelica_metatype _inPath, modelica_string _inSuffix)
Definition: Absyn.c:15126
ADD_METARECORD_DEFINITIONS struct record_description Values_Value_REAL__desc
void * modelica_metatype
DLLExport modelica_metatype omc_NFExpression_toDAEValue(threadData_t *threadData, modelica_metatype _exp)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_NFExpression_toInteger()

DLLExport modelica_integer omc_NFExpression_toInteger ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 15470 of file NFExpression.c.

15471 {
15472  modelica_integer _i;
15473  modelica_integer tmp1 = 0;
15474  MMC_SO();
15475  _tailrecursive: OMC_LABEL_UNUSED
15476 #line 15476 OMC_FILE
15477  { /* match expression */
15478  modelica_metatype tmp4_1;
15479  tmp4_1 = _exp;
15480  {
15481  int tmp4;
15482  {
15483  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
15484  case 3: {
15485 
15486  /* Pattern matching succeeded */
15487 #line 1416 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15488  tmp1 = mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
15489 #line 15489 OMC_FILE
15490  goto tmp3_done;
15491  }
15492  case 6: {
15493 
15494  /* Pattern matching succeeded */
15495 #line 1417 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15496  tmp1 = (mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))))?((modelica_integer) 1):((modelica_integer) 0));
15497 #line 15497 OMC_FILE
15498  goto tmp3_done;
15499  }
15500  case 7: {
15501 
15502  /* Pattern matching succeeded */
15503 #line 1418 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15504  tmp1 = mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
15505 #line 15505 OMC_FILE
15506  goto tmp3_done;
15507  }
15508  }
15509  goto tmp3_end;
15510  tmp3_end: ;
15511  }
15512  goto goto_2;
15513  goto_2:;
15514  MMC_THROW_INTERNAL();
15515  goto tmp3_done;
15516  tmp3_done:;
15517  }
15518  }
15519  _i = tmp1;
15520  _return: OMC_LABEL_UNUSED
15521  return _i;
15522 }
m_integer modelica_integer
void * modelica_metatype
Here is the caller graph for this function:

◆ omc_NFExpression_toScalar()

DLLExport modelica_metatype omc_NFExpression_toScalar ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 1061 of file NFExpression.c.

1062 {
1063  modelica_metatype _outExp = NULL;
1064  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
1065  MMC_SO();
1066  _tailrecursive: OMC_LABEL_UNUSED
1067 #line 1067 OMC_FILE
1068  { /* match expression */
1069  modelica_metatype tmp3_1;
1070  tmp3_1 = _exp;
1071  {
1072  volatile mmc_switch_type tmp3;
1073  int tmp4;
1074  tmp3 = 0;
1075  for (; tmp3 < 2; tmp3++) {
1076  switch (MMC_SWITCH_CAST(tmp3)) {
1077  case 0: {
1078  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,7,3) == 0) goto tmp2_end;
1079  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
1080  if (listEmpty(tmpMeta[1])) goto tmp2_end;
1081  tmpMeta[2] = MMC_CAR(tmpMeta[1]);
1082  tmpMeta[3] = MMC_CDR(tmpMeta[1]);
1083  if (!listEmpty(tmpMeta[3])) goto tmp2_end;
1084 
1085  _outExp = tmpMeta[2];
1086  /* Pattern matching succeeded */
1087 #line 4555 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1088  /* Tail recursive call */
1089 #line 4555 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1090  _exp = _outExp;
1091 #line 4555 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1092  goto _tailrecursive;
1093 #line 4555 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1094  /* TODO: Make sure any eventual dead code below is never generated */
1095 #line 1095 OMC_FILE
1096  goto tmp2_done;
1097  }
1098  case 1: {
1099 
1100  /* Pattern matching succeeded */
1101 #line 4556 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1102  tmpMeta[0] = _exp;
1103 #line 1103 OMC_FILE
1104  goto tmp2_done;
1105  }
1106  }
1107  goto tmp2_end;
1108  tmp2_end: ;
1109  }
1110  goto goto_1;
1111  goto_1:;
1112  MMC_THROW_INTERNAL();
1113  goto tmp2_done;
1114  tmp2_done:;
1115  }
1116  }
1117  _outExp = tmpMeta[0];
1118  _return: OMC_LABEL_UNUSED
1119  return _outExp;
1120 }
float mmc_switch_type
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_toString()

DLLExport modelica_string omc_NFExpression_toString ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 14644 of file NFExpression.c.

14645 {
14646  modelica_string _str = NULL;
14647  modelica_metatype _t = NULL;
14648  modelica_metatype _clk = NULL;
14649  modelica_string tmp1 = 0;
14650  modelica_metatype tmpMeta[8] __attribute__((unused)) = {0};
14651  MMC_SO();
14652  _tailrecursive: OMC_LABEL_UNUSED
14653 #line 14653 OMC_FILE
14654  { /* match expression */
14655  modelica_metatype tmp4_1;
14656  tmp4_1 = _exp;
14657  {
14658  volatile mmc_switch_type tmp4;
14659  int tmp5;
14660  tmp4 = 0;
14661  for (; tmp4 < 32; tmp4++) {
14662  switch (MMC_SWITCH_CAST(tmp4)) {
14663  case 0: {
14664  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,0,1) == 0) goto tmp3_end;
14665 
14666  /* Pattern matching succeeded */
14667 #line 1437 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14668  tmp1 = intString(mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))));
14669 #line 14669 OMC_FILE
14670  goto tmp3_done;
14671  }
14672  case 1: {
14673  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,1,1) == 0) goto tmp3_end;
14674 
14675  /* Pattern matching succeeded */
14676 #line 1438 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14677  tmp1 = realString(mmc_unbox_real((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))));
14678 #line 14678 OMC_FILE
14679  goto tmp3_done;
14680  }
14681  case 2: {
14682  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,2,1) == 0) goto tmp3_end;
14683 
14684  /* Pattern matching succeeded */
14685 #line 1439 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14686  tmpMeta[0] = stringAppend(_OMC_LIT50,(MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
14687 #line 1439 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14688  tmpMeta[1] = stringAppend(tmpMeta[0],_OMC_LIT50);
14689 #line 1439 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14690  tmp1 = tmpMeta[1];
14691 #line 14691 OMC_FILE
14692  goto tmp3_done;
14693  }
14694  case 3: {
14695  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,3,1) == 0) goto tmp3_end;
14696 
14697  /* Pattern matching succeeded */
14698 #line 1440 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14699  tmp1 = (mmc_unbox_boolean((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))))?_OMC_LIT51:_OMC_LIT52);
14700 #line 14700 OMC_FILE
14701  goto tmp3_done;
14702  }
14703  case 4: {
14704  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,4,3) == 0) goto tmp3_end;
14705  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
14706  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],5,2) == 0) goto tmp3_end;
14707 
14708  _t = tmpMeta[0];
14709  /* Pattern matching succeeded */
14710 #line 1443 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14711  tmpMeta[0] = stringAppend(omc_Absyn_pathString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_t), 2))), _OMC_LIT53, 1, 0),_OMC_LIT53);
14712 #line 1443 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14713  tmpMeta[1] = stringAppend(tmpMeta[0],(MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
14714 #line 1443 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14715  tmp1 = tmpMeta[1];
14716 #line 14716 OMC_FILE
14717  goto tmp3_done;
14718  }
14719  case 5: {
14720  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,29,1) == 0) goto tmp3_end;
14721  tmpMeta[0] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp4_1), 2));
14722  _clk = tmpMeta[0];
14723  /* Pattern matching succeeded */
14724 #line 1445 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14725  tmpMeta[0] = stringAppend(_OMC_LIT54,omc_NFExpression_ClockKind_toString(threadData, _clk));
14726 #line 1445 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14727  tmpMeta[1] = stringAppend(tmpMeta[0],_OMC_LIT49);
14728 #line 1445 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14729  tmp1 = tmpMeta[1];
14730 #line 14730 OMC_FILE
14731  goto tmp3_done;
14732  }
14733  case 6: {
14734  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,5,2) == 0) goto tmp3_end;
14735 
14736  /* Pattern matching succeeded */
14737 #line 1447 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14738  tmp1 = omc_NFComponentRef_toString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
14739 #line 14739 OMC_FILE
14740  goto tmp3_done;
14741  }
14742  case 7: {
14743  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,6,1) == 0) goto tmp3_end;
14744 
14745  /* Pattern matching succeeded */
14746 #line 1448 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14747  tmp1 = omc_NFType_typenameString(threadData, omc_NFType_arrayElementType(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))));
14748 #line 14748 OMC_FILE
14749  goto tmp3_done;
14750  }
14751  case 8: {
14752  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,7,3) == 0) goto tmp3_end;
14753 
14754  /* Pattern matching succeeded */
14755 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14756  {
14757 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14758  modelica_metatype _$tmpVar71;
14759 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14760  modelica_metatype* tmp6;
14761 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14762  modelica_string _$tmpVar70;
14763 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14764  int tmp7;
14765 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14766  modelica_metatype e_loopVar = 0;
14767 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14768  modelica_metatype _e;
14769 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14770  e_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
14771 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14772  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
14773 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14774  _$tmpVar71 = tmpMeta[1]; /* defaultValue */
14775 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14776  tmp6 = &_$tmpVar71;
14777 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14778  while(1) {
14779 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14780  tmp7 = 1;
14781 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14782  if (!listEmpty(e_loopVar)) {
14783 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14784  _e = MMC_CAR(e_loopVar);
14785 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14786  e_loopVar = MMC_CDR(e_loopVar);
14787 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14788  tmp7--;
14789 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14790  }
14791 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14792  if (tmp7 == 0) {
14793 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14794  _$tmpVar70 = omc_NFExpression_toString(threadData, _e);
14795 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14796  *tmp6 = mmc_mk_cons(_$tmpVar70,0);
14797 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14798  tmp6 = &MMC_CDR(*tmp6);
14799 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14800  } else if (tmp7 == 1) {
14801 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14802  break;
14803 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14804  } else {
14805 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14806  goto goto_2;
14807 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14808  }
14809 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14810  }
14811 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14812  *tmp6 = mmc_mk_nil();
14813 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14814  tmpMeta[0] = _$tmpVar71;
14815 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14816  }
14817 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14818  tmpMeta[2] = stringAppend(_OMC_LIT55,stringDelimitList(tmpMeta[0], _OMC_LIT56));
14819 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14820  tmpMeta[3] = stringAppend(tmpMeta[2],_OMC_LIT57);
14821 #line 1449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14822  tmp1 = tmpMeta[3];
14823 #line 14823 OMC_FILE
14824  goto tmp3_done;
14825  }
14826  case 9: {
14827  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,8,1) == 0) goto tmp3_end;
14828 
14829  /* Pattern matching succeeded */
14830 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14831  {
14832 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14833  modelica_metatype _$tmpVar75;
14834 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14835  modelica_metatype* tmp8;
14836 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14837  modelica_string _$tmpVar74;
14838 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14839  int tmp11;
14840 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14841  modelica_metatype el_loopVar = 0;
14842 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14843  modelica_metatype _el;
14844 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14845  el_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)));
14846 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14847  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
14848 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14849  _$tmpVar75 = tmpMeta[1]; /* defaultValue */
14850 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14851  tmp8 = &_$tmpVar75;
14852 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14853  while(1) {
14854 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14855  tmp11 = 1;
14856 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14857  if (!listEmpty(el_loopVar)) {
14858 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14859  _el = MMC_CAR(el_loopVar);
14860 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14861  el_loopVar = MMC_CDR(el_loopVar);
14862 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14863  tmp11--;
14864 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14865  }
14866 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14867  if (tmp11 == 0) {
14868 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14869  {
14870 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14871  modelica_metatype _$tmpVar73;
14872 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14873  modelica_metatype* tmp9;
14874 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14875  modelica_string _$tmpVar72;
14876 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14877  int tmp10;
14878 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14879  modelica_metatype e_loopVar = 0;
14880 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14881  modelica_metatype _e;
14882 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14883  e_loopVar = _el;
14884 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14885  tmpMeta[3] = MMC_REFSTRUCTLIT(mmc_nil);
14886 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14887  _$tmpVar73 = tmpMeta[3]; /* defaultValue */
14888 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14889  tmp9 = &_$tmpVar73;
14890 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14891  while(1) {
14892 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14893  tmp10 = 1;
14894 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14895  if (!listEmpty(e_loopVar)) {
14896 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14897  _e = MMC_CAR(e_loopVar);
14898 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14899  e_loopVar = MMC_CDR(e_loopVar);
14900 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14901  tmp10--;
14902 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14903  }
14904 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14905  if (tmp10 == 0) {
14906 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14907  _$tmpVar72 = omc_NFExpression_toString(threadData, _e);
14908 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14909  *tmp9 = mmc_mk_cons(_$tmpVar72,0);
14910 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14911  tmp9 = &MMC_CDR(*tmp9);
14912 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14913  } else if (tmp10 == 1) {
14914 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14915  break;
14916 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14917  } else {
14918 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14919  goto goto_2;
14920 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14921  }
14922 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14923  }
14924 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14925  *tmp9 = mmc_mk_nil();
14926 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14927  tmpMeta[2] = _$tmpVar73;
14928 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14929  }
14930 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14931  _$tmpVar74 = stringDelimitList(tmpMeta[2], _OMC_LIT56);
14932 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14933  *tmp8 = mmc_mk_cons(_$tmpVar74,0);
14934 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14935  tmp8 = &MMC_CDR(*tmp8);
14936 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14937  } else if (tmp11 == 1) {
14938 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14939  break;
14940 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14941  } else {
14942 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14943  goto goto_2;
14944 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14945  }
14946 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14947  }
14948 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14949  *tmp8 = mmc_mk_nil();
14950 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14951  tmpMeta[0] = _$tmpVar75;
14952 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14953  }
14954 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14955  tmpMeta[4] = stringAppend(_OMC_LIT58,stringDelimitList(tmpMeta[0], _OMC_LIT59));
14956 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14957  tmpMeta[5] = stringAppend(tmpMeta[4],_OMC_LIT60);
14958 #line 1450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14959  tmp1 = tmpMeta[5];
14960 #line 14960 OMC_FILE
14961  goto tmp3_done;
14962  }
14963  case 10: {
14964  modelica_boolean tmp12;
14965  modelica_string tmp13;
14966  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,9,4) == 0) goto tmp3_end;
14967 
14968  /* Pattern matching succeeded */
14969 #line 1452 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14970  tmp12 = (modelica_boolean)isSome((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
14971 #line 1452 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14972  if(tmp12)
14973 #line 1452 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14974  {
14975 #line 1452 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14976  tmpMeta[0] = stringAppend(_OMC_LIT61,omc_NFExpression_operandString(threadData, omc_Util_getOption(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4)))), _exp, 0));
14977 #line 1452 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14978  tmp13 = tmpMeta[0];
14979 #line 1452 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14980  }
14981 #line 1452 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14982  else
14983 #line 1452 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14984  {
14985 #line 1452 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14986  tmp13 = _OMC_LIT0;
14987 #line 1452 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14988  }
14989 #line 1452 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14990  tmpMeta[1] = stringAppend(omc_NFExpression_operandString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _exp, 0),tmp13);
14991 #line 1452 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14992  tmpMeta[2] = stringAppend(tmpMeta[1],_OMC_LIT61);
14993 #line 1452 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14994  tmpMeta[3] = stringAppend(tmpMeta[2],omc_NFExpression_operandString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5))), _exp, 0));
14995 #line 1452 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
14996  tmp1 = tmpMeta[3];
14997 #line 14997 OMC_FILE
14998  goto tmp3_done;
14999  }
15000  case 11: {
15001  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,10,2) == 0) goto tmp3_end;
15002 
15003  /* Pattern matching succeeded */
15004 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15005  {
15006 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15007  modelica_metatype _$tmpVar77;
15008 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15009  modelica_metatype* tmp14;
15010 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15011  modelica_string _$tmpVar76;
15012 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15013  int tmp15;
15014 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15015  modelica_metatype e_loopVar = 0;
15016 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15017  modelica_metatype _e;
15018 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15019  e_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
15020 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15021  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
15022 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15023  _$tmpVar77 = tmpMeta[1]; /* defaultValue */
15024 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15025  tmp14 = &_$tmpVar77;
15026 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15027  while(1) {
15028 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15029  tmp15 = 1;
15030 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15031  if (!listEmpty(e_loopVar)) {
15032 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15033  _e = MMC_CAR(e_loopVar);
15034 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15035  e_loopVar = MMC_CDR(e_loopVar);
15036 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15037  tmp15--;
15038 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15039  }
15040 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15041  if (tmp15 == 0) {
15042 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15043  _$tmpVar76 = omc_NFExpression_toString(threadData, _e);
15044 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15045  *tmp14 = mmc_mk_cons(_$tmpVar76,0);
15046 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15047  tmp14 = &MMC_CDR(*tmp14);
15048 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15049  } else if (tmp15 == 1) {
15050 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15051  break;
15052 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15053  } else {
15054 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15055  goto goto_2;
15056 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15057  }
15058 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15059  }
15060 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15061  *tmp14 = mmc_mk_nil();
15062 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15063  tmpMeta[0] = _$tmpVar77;
15064 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15065  }
15066 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15067  tmpMeta[2] = stringAppend(_OMC_LIT48,stringDelimitList(tmpMeta[0], _OMC_LIT56));
15068 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15069  tmpMeta[3] = stringAppend(tmpMeta[2],_OMC_LIT49);
15070 #line 1459 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15071  tmp1 = tmpMeta[3];
15072 #line 15072 OMC_FILE
15073  goto tmp3_done;
15074  }
15075  case 12: {
15076  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,11,3) == 0) goto tmp3_end;
15077 
15078  /* Pattern matching succeeded */
15079 #line 1460 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15080  tmp1 = omc_List_toString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), boxvar_NFExpression_toString, omc_Absyn_pathString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _OMC_LIT53, 1, 0), _OMC_LIT48, _OMC_LIT56, _OMC_LIT49, 1);
15081 #line 15081 OMC_FILE
15082  goto tmp3_done;
15083  }
15084  case 13: {
15085  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,12,1) == 0) goto tmp3_end;
15086 
15087  /* Pattern matching succeeded */
15088 #line 1461 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15089  tmp1 = omc_NFCall_Call_toString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
15090 #line 15090 OMC_FILE
15091  goto tmp3_done;
15092  }
15093  case 14: {
15094  modelica_boolean tmp16;
15095  modelica_string tmp17;
15096  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,13,2) == 0) goto tmp3_end;
15097 
15098  /* Pattern matching succeeded */
15099 #line 1462 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15100  tmpMeta[0] = stringAppend(_OMC_LIT62,omc_NFExpression_toString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))));
15101 #line 1462 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15102  tmp16 = (modelica_boolean)isSome((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
15103 #line 1462 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15104  if(tmp16)
15105 #line 1462 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15106  {
15107 #line 1462 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15108  tmpMeta[1] = stringAppend(_OMC_LIT56,omc_NFExpression_toString(threadData, omc_Util_getOption(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))))));
15109 #line 1462 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15110  tmp17 = tmpMeta[1];
15111 #line 1462 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15112  }
15113 #line 1462 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15114  else
15115 #line 1462 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15116  {
15117 #line 1462 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15118  tmp17 = _OMC_LIT0;
15119 #line 1462 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15120  }
15121 #line 1462 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15122  tmpMeta[2] = stringAppend(tmpMeta[0],tmp17);
15123 #line 1462 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15124  tmpMeta[3] = stringAppend(tmpMeta[2],_OMC_LIT49);
15125 #line 1462 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15126  tmp1 = tmpMeta[3];
15127 #line 15127 OMC_FILE
15128  goto tmp3_done;
15129  }
15130  case 15: {
15131  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,14,0) == 0) goto tmp3_end;
15132  /* Pattern matching succeeded */
15133 #line 1468 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15134  tmp1 = _OMC_LIT63;
15135 #line 15135 OMC_FILE
15136  goto tmp3_done;
15137  }
15138  case 16: {
15139  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,15,3) == 0) goto tmp3_end;
15140 
15141  /* Pattern matching succeeded */
15142 #line 1470 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15143  tmpMeta[0] = stringAppend(omc_NFExpression_operandString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _exp, 1),omc_NFOperator_symbol(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _OMC_LIT64));
15144 #line 1470 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15145  tmpMeta[1] = stringAppend(tmpMeta[0],omc_NFExpression_operandString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _exp, 0));
15146 #line 1470 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15147  tmp1 = tmpMeta[1];
15148 #line 15148 OMC_FILE
15149  goto tmp3_done;
15150  }
15151  case 17: {
15152  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,16,2) == 0) goto tmp3_end;
15153 
15154  /* Pattern matching succeeded */
15155 #line 1474 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15156  tmpMeta[0] = stringAppend(omc_NFOperator_symbol(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _OMC_LIT0),omc_NFExpression_operandString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _exp, 0));
15157 #line 1474 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15158  tmp1 = tmpMeta[0];
15159 #line 15159 OMC_FILE
15160  goto tmp3_done;
15161  }
15162  case 18: {
15163  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,17,3) == 0) goto tmp3_end;
15164 
15165  /* Pattern matching succeeded */
15166 #line 1477 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15167  tmpMeta[0] = stringAppend(omc_NFExpression_operandString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _exp, 1),omc_NFOperator_symbol(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _OMC_LIT64));
15168 #line 1477 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15169  tmpMeta[1] = stringAppend(tmpMeta[0],omc_NFExpression_operandString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _exp, 0));
15170 #line 1477 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15171  tmp1 = tmpMeta[1];
15172 #line 15172 OMC_FILE
15173  goto tmp3_done;
15174  }
15175  case 19: {
15176  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,18,2) == 0) goto tmp3_end;
15177 
15178  /* Pattern matching succeeded */
15179 #line 1481 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15180  tmpMeta[0] = stringAppend(omc_NFOperator_symbol(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _OMC_LIT0),_OMC_LIT64);
15181 #line 1481 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15182  tmpMeta[1] = stringAppend(tmpMeta[0],omc_NFExpression_operandString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _exp, 0));
15183 #line 1481 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15184  tmp1 = tmpMeta[1];
15185 #line 15185 OMC_FILE
15186  goto tmp3_done;
15187  }
15188  case 20: {
15189  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,19,3) == 0) goto tmp3_end;
15190 
15191  /* Pattern matching succeeded */
15192 #line 1484 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15193  tmpMeta[0] = stringAppend(omc_NFExpression_operandString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), _exp, 1),omc_NFOperator_symbol(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _OMC_LIT64));
15194 #line 1484 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15195  tmpMeta[1] = stringAppend(tmpMeta[0],omc_NFExpression_operandString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _exp, 0));
15196 #line 1484 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15197  tmp1 = tmpMeta[1];
15198 #line 15198 OMC_FILE
15199  goto tmp3_done;
15200  }
15201  case 21: {
15202  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,20,3) == 0) goto tmp3_end;
15203 
15204  /* Pattern matching succeeded */
15205 #line 1488 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15206  tmpMeta[0] = stringAppend(_OMC_LIT65,omc_NFExpression_toString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))));
15207 #line 1488 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15208  tmpMeta[1] = stringAppend(tmpMeta[0],_OMC_LIT66);
15209 #line 1488 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15210  tmpMeta[2] = stringAppend(tmpMeta[1],omc_NFExpression_toString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))));
15211 #line 1488 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15212  tmpMeta[3] = stringAppend(tmpMeta[2],_OMC_LIT67);
15213 #line 1488 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15214  tmpMeta[4] = stringAppend(tmpMeta[3],omc_NFExpression_toString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4)))));
15215 #line 1488 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15216  tmp1 = tmpMeta[4];
15217 #line 15217 OMC_FILE
15218  goto tmp3_done;
15219  }
15220  case 22: {
15221  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,22,2) == 0) goto tmp3_end;
15222 
15223  /* Pattern matching succeeded */
15224 #line 1490 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15225  tmpMeta[0] = stringAppend(_OMC_LIT68,omc_NFExpression_toString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))));
15226 #line 1490 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15227  tmpMeta[1] = stringAppend(tmpMeta[0],_OMC_LIT49);
15228 #line 1490 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15229  tmp1 = tmpMeta[1];
15230 #line 15230 OMC_FILE
15231  goto tmp3_done;
15232  }
15233  case 23: {
15234  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,26,1) == 0) goto tmp3_end;
15235 
15236  /* Pattern matching succeeded */
15237 #line 1491 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15238  tmpMeta[0] = stringAppend(_OMC_LIT69,omc_NFExpression_toString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))));
15239 #line 1491 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15240  tmpMeta[1] = stringAppend(tmpMeta[0],_OMC_LIT49);
15241 #line 1491 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15242  tmp1 = tmpMeta[1];
15243 #line 15243 OMC_FILE
15244  goto tmp3_done;
15245  }
15246  case 24: {
15247  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,21,2) == 0) goto tmp3_end;
15248 
15249  /* Pattern matching succeeded */
15250 #line 1492 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15251  tmpMeta[0] = stringAppend(_OMC_LIT70,omc_NFType_toString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))));
15252 #line 1492 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15253  tmpMeta[1] = stringAppend(tmpMeta[0],_OMC_LIT56);
15254 #line 1492 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15255  tmpMeta[2] = stringAppend(tmpMeta[1],omc_NFExpression_toString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))));
15256 #line 1492 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15257  tmpMeta[3] = stringAppend(tmpMeta[2],_OMC_LIT49);
15258 #line 1492 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15259  tmp1 = tmpMeta[3];
15260 #line 15260 OMC_FILE
15261  goto tmp3_done;
15262  }
15263  case 25: {
15264  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,23,3) == 0) goto tmp3_end;
15265 
15266  /* Pattern matching succeeded */
15267 #line 1493 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15268  tmpMeta[0] = stringAppend(omc_NFExpression_toString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))),omc_NFSubscript_toStringList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))));
15269 #line 1493 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15270  tmp1 = tmpMeta[0];
15271 #line 15271 OMC_FILE
15272  goto tmp3_done;
15273  }
15274  case 26: {
15275  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,24,3) == 0) goto tmp3_end;
15276 
15277  /* Pattern matching succeeded */
15278 #line 1494 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15279  tmpMeta[0] = stringAppend(omc_NFExpression_toString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))),_OMC_LIT58);
15280 #line 1494 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15281  tmpMeta[1] = stringAppend(tmpMeta[0],intString(mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))))));
15282 #line 1494 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15283  tmpMeta[2] = stringAppend(tmpMeta[1],_OMC_LIT60);
15284 #line 1494 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15285  tmp1 = tmpMeta[2];
15286 #line 15286 OMC_FILE
15287  goto tmp3_done;
15288  }
15289  case 27: {
15290  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,25,4) == 0) goto tmp3_end;
15291 
15292  /* Pattern matching succeeded */
15293 #line 1495 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15294  tmpMeta[0] = stringAppend(omc_NFExpression_toString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))),_OMC_LIT71);
15295 #line 1495 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15296  tmpMeta[1] = stringAppend(tmpMeta[0],(MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
15297 #line 1495 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15298  tmpMeta[2] = stringAppend(tmpMeta[1],_OMC_LIT60);
15299 #line 1495 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15300  tmp1 = tmpMeta[2];
15301 #line 15301 OMC_FILE
15302  goto tmp3_done;
15303  }
15304  case 28: {
15305  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,27,1) == 0) goto tmp3_end;
15306 
15307  /* Pattern matching succeeded */
15308 #line 1496 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15309  /* Tail recursive call */
15310 #line 1496 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15311  _exp = omc_Mutable_access(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
15312 #line 1496 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15313  goto _tailrecursive;
15314 #line 1496 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15315  /* TODO: Make sure any eventual dead code below is never generated */
15316 #line 15316 OMC_FILE
15317  goto tmp3_done;
15318  }
15319  case 29: {
15320  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,28,1) == 0) goto tmp3_end;
15321 
15322  /* Pattern matching succeeded */
15323 #line 1497 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15324  tmp1 = _OMC_LIT72;
15325 #line 15325 OMC_FILE
15326  goto tmp3_done;
15327  }
15328  case 30: {
15329  if (mmc__uniontype__metarecord__typedef__equal(tmp4_1,30,4) == 0) goto tmp3_end;
15330 
15331  /* Pattern matching succeeded */
15332 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15333  tmpMeta[0] = stringAppend(_OMC_LIT73,omc_NFComponentRef_toString(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))));
15334 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15335  tmpMeta[1] = stringAppend(tmpMeta[0],_OMC_LIT48);
15336 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15337  {
15338 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15339  modelica_metatype _$tmpVar79;
15340 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15341  modelica_metatype* tmp18;
15342 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15343  modelica_string _$tmpVar78;
15344 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15345  int tmp19;
15346 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15347  modelica_metatype n_loopVar = 0;
15348 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15349  modelica_metatype _n;
15350 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15351  modelica_metatype a_loopVar = 0;
15352 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15353  modelica_metatype _a;
15354 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15355  n_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4)));
15356 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15357  a_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
15358 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15359  tmpMeta[3] = MMC_REFSTRUCTLIT(mmc_nil);
15360 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15361  _$tmpVar79 = tmpMeta[3]; /* defaultValue */
15362 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15363  tmp18 = &_$tmpVar79;
15364 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15365  while(1) {
15366 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15367  tmp19 = 2;
15368 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15369  if (!listEmpty(n_loopVar)) {
15370 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15371  _n = MMC_CAR(n_loopVar);
15372 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15373  n_loopVar = MMC_CDR(n_loopVar);
15374 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15375  tmp19--;
15376 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15377  }if (!listEmpty(a_loopVar)) {
15378 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15379  _a = MMC_CAR(a_loopVar);
15380 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15381  a_loopVar = MMC_CDR(a_loopVar);
15382 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15383  tmp19--;
15384 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15385  }
15386 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15387  if (tmp19 == 0) {
15388 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15389  tmpMeta[4] = stringAppend(_n,_OMC_LIT74);
15390 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15391  tmpMeta[5] = stringAppend(tmpMeta[4],omc_NFExpression_toString(threadData, _a));
15392 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15393  _$tmpVar78 = tmpMeta[5];
15394 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15395  *tmp18 = mmc_mk_cons(_$tmpVar78,0);
15396 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15397  tmp18 = &MMC_CDR(*tmp18);
15398 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15399  } else if (tmp19 == 2) {
15400 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15401  break;
15402 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15403  } else {
15404 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15405  goto goto_2;
15406 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15407  }
15408 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15409  }
15410 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15411  *tmp18 = mmc_mk_nil();
15412 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15413  tmpMeta[2] = _$tmpVar79;
15414 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15415  }
15416 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15417  tmpMeta[6] = stringAppend(tmpMeta[1],stringDelimitList(tmpMeta[2], _OMC_LIT56));
15418 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15419  tmpMeta[7] = stringAppend(tmpMeta[6],_OMC_LIT49);
15420 #line 1499 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15421  tmp1 = tmpMeta[7];
15422 #line 15422 OMC_FILE
15423  goto tmp3_done;
15424  }
15425  case 31: {
15426 
15427  /* Pattern matching succeeded */
15428 #line 1502 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15429  tmp1 = mmc_anyString(_exp);
15430 #line 15430 OMC_FILE
15431  goto tmp3_done;
15432  }
15433  }
15434  goto tmp3_end;
15435  tmp3_end: ;
15436  }
15437  goto goto_2;
15438  goto_2:;
15439  MMC_THROW_INTERNAL();
15440  goto tmp3_done;
15441  tmp3_done:;
15442  }
15443  }
15444  _str = tmp1;
15445  _return: OMC_LABEL_UNUSED
15446  return _str;
15447 }
DLLExport modelica_string omc_NFOperator_symbol(threadData_t *threadData, modelica_metatype _op, modelica_string _spacing)
Definition: NFOperator.c:1001
DLLExport modelica_string omc_NFComponentRef_toString(threadData_t *threadData, modelica_metatype _cref)
modelica_metatype modelica_string
signed char modelica_boolean
DLLExport modelica_string omc_List_toString(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inPrintFunc, modelica_string _inListNameStr, modelica_string _inBeginStr, modelica_string _inDelimitStr, modelica_string _inEndStr, modelica_boolean _inPrintEmpty)
Definition: List.c:2057
DLLExport modelica_string omc_NFType_typenameString(threadData_t *threadData, modelica_metatype _ty)
Definition: NFType.c:1165
DLLExport modelica_string omc_NFExpression_ClockKind_toString(threadData_t *threadData, modelica_metatype _ick)
modelica_metatype omc_Mutable_access(threadData_t *threadData, modelica_metatype _mutable)
Definition: Mutable.c:13
float mmc_switch_type
DLLExport modelica_string omc_NFCall_Call_toString(threadData_t *threadData, modelica_metatype _call)
Definition: NFCall.c:3329
DLLExport modelica_string omc_NFType_toString(threadData_t *threadData, modelica_metatype _ty)
Definition: NFType.c:1215
DLLExport modelica_metatype omc_Util_getOption(threadData_t *threadData, modelica_metatype _inOption)
Definition: Util.c:3546
modelica_string stringAppend(modelica_string s1, modelica_string s2)
DLLExport modelica_string omc_NFExpression_toString(threadData_t *threadData, modelica_metatype _exp)
modelica_string intString(modelica_integer)
modelica_string realString(modelica_real)
Definition: realString.c:68
void * modelica_metatype
void *(* omc_Absyn_pathString)(threadData_t *, void *, void *, int, int)
DLLExport modelica_string omc_NFExpression_operandString(threadData_t *threadData, modelica_metatype _operand, modelica_metatype _operator, modelica_boolean _lhs)
DLLExport modelica_string omc_NFSubscript_toStringList(threadData_t *threadData, modelica_metatype _subscripts)
Definition: NFSubscript.c:1226
DLLExport modelica_metatype omc_NFType_arrayElementType(threadData_t *threadData, modelica_metatype _ty)
Definition: NFType.c:2233
void * mmc_anyString(void *any)
metamodelica_string stringDelimitList(modelica_metatype lst, metamodelica_string_const delimiter)
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_toStringTyped()

DLLExport modelica_string omc_NFExpression_toStringTyped ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 15450 of file NFExpression.c.

15451 {
15452  modelica_string _str = NULL;
15453  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
15454  MMC_SO();
15455  _tailrecursive: OMC_LABEL_UNUSED
15456 #line 1426 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15457  tmpMeta[0] = stringAppend(_OMC_LIT75,omc_NFType_toString(threadData, omc_NFExpression_typeOf(threadData, _exp)));
15458 #line 1426 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15459  tmpMeta[1] = stringAppend(tmpMeta[0],_OMC_LIT76);
15460 #line 1426 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15461  tmpMeta[2] = stringAppend(tmpMeta[1],omc_NFExpression_toString(threadData, _exp));
15462 #line 1426 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
15463  _str = tmpMeta[2];
15464 #line 15464 OMC_FILE
15465  _return: OMC_LABEL_UNUSED
15466  return _str;
15467 }
modelica_metatype modelica_string
DLLExport modelica_metatype omc_NFExpression_typeOf(threadData_t *threadData, modelica_metatype _exp)
DLLExport modelica_string omc_NFType_toString(threadData_t *threadData, modelica_metatype _ty)
Definition: NFType.c:1215
modelica_string stringAppend(modelica_string s1, modelica_string s2)
DLLExport modelica_string omc_NFExpression_toString(threadData_t *threadData, modelica_metatype _exp)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:

◆ omc_NFExpression_transposeArray()

DLLExport modelica_metatype omc_NFExpression_transposeArray ( threadData_t threadData,
modelica_metatype  _arrayExp 
)

Definition at line 2320 of file NFExpression.c.

2321 {
2322  modelica_metatype _outExp = NULL;
2323  modelica_metatype _dim1 = NULL;
2324  modelica_metatype _dim2 = NULL;
2325  modelica_metatype _rest_dims = NULL;
2326  modelica_metatype _ty = NULL;
2327  modelica_metatype _row_ty = NULL;
2328  modelica_metatype _expl = NULL;
2329  modelica_metatype _matrix = NULL;
2330  modelica_boolean _literal;
2331  modelica_integer tmp1;
2332  modelica_metatype tmpMeta[10] __attribute__((unused)) = {0};
2333  MMC_SO();
2334  _tailrecursive: OMC_LABEL_UNUSED
2335 #line 4263 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2336  /* Pattern-matching assignment */
2337 #line 4263 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2338  tmpMeta[0] = _arrayExp;
2339 #line 4263 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2340  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[0],7,3) == 0) MMC_THROW_INTERNAL();
2341 #line 4263 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2342  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 2));
2343 #line 4263 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2344  if (mmc__uniontype__metarecord__typedef__equal(tmpMeta[1],7,2) == 0) MMC_THROW_INTERNAL();
2345 #line 4263 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2346  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 2));
2347 #line 4263 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2348  tmpMeta[3] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[1]), 3));
2349 #line 4263 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2350  if (listEmpty(tmpMeta[3])) MMC_THROW_INTERNAL();
2351 #line 4263 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2352  tmpMeta[4] = MMC_CAR(tmpMeta[3]);
2353 #line 4263 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2354  tmpMeta[5] = MMC_CDR(tmpMeta[3]);
2355 #line 4263 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2356  if (listEmpty(tmpMeta[5])) MMC_THROW_INTERNAL();
2357 #line 4263 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2358  tmpMeta[6] = MMC_CAR(tmpMeta[5]);
2359 #line 4263 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2360  tmpMeta[7] = MMC_CDR(tmpMeta[5]);
2361 #line 4263 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2362  tmpMeta[8] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 3));
2363 #line 4263 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2364  tmpMeta[9] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmpMeta[0]), 4));
2365 #line 4263 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2366  tmp1 = mmc_unbox_integer(tmpMeta[9]);
2367 #line 4263 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2368  _ty = tmpMeta[2];
2369 #line 4263 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2370  _dim1 = tmpMeta[4];
2371 #line 4263 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2372  _dim2 = tmpMeta[6];
2373 #line 4263 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2374  _rest_dims = tmpMeta[7];
2375 #line 4263 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2376  _expl = tmpMeta[8];
2377 #line 4263 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2378  _literal = tmp1 /* pattern as ty=Boolean */;
2379 #line 2379 OMC_FILE
2380 
2381 #line 4265 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2382  if((!listEmpty(_expl)))
2383 #line 4265 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2384  {
2385 #line 4266 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2386  tmpMeta[0] = mmc_mk_cons(_dim1, _rest_dims);
2387 #line 4266 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2388  tmpMeta[1] = mmc_mk_box3(10, &NFType_ARRAY__desc, _ty, tmpMeta[0]);
2389 #line 4266 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2390  _row_ty = tmpMeta[1];
2391 #line 2391 OMC_FILE
2392 
2393 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2394  {
2395 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2396  modelica_metatype _$tmpVar13;
2397 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2398  modelica_metatype* tmp2;
2399 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2400  modelica_metatype _$tmpVar12;
2401 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2402  int tmp3;
2403 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2404  modelica_metatype e_loopVar = 0;
2405 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2406  modelica_metatype _e;
2407 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2408  e_loopVar = _expl;
2409 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2410  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
2411 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2412  _$tmpVar13 = tmpMeta[1]; /* defaultValue */
2413 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2414  tmp2 = &_$tmpVar13;
2415 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2416  while(1) {
2417 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2418  tmp3 = 1;
2419 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2420  if (!listEmpty(e_loopVar)) {
2421 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2422  _e = MMC_CAR(e_loopVar);
2423 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2424  e_loopVar = MMC_CDR(e_loopVar);
2425 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2426  tmp3--;
2427 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2428  }
2429 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2430  if (tmp3 == 0) {
2431 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2432  _$tmpVar12 = omc_NFExpression_arrayElements(threadData, _e);
2433 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2434  *tmp2 = mmc_mk_cons(_$tmpVar12,0);
2435 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2436  tmp2 = &MMC_CDR(*tmp2);
2437 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2438  } else if (tmp3 == 1) {
2439 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2440  break;
2441 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2442  } else {
2443 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2444  MMC_THROW_INTERNAL();
2445 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2446  }
2447 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2448  }
2449 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2450  *tmp2 = mmc_mk_nil();
2451 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2452  tmpMeta[0] = _$tmpVar13;
2453 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2454  }
2455 #line 4267 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2456  _matrix = tmpMeta[0];
2457 #line 2457 OMC_FILE
2458 
2459 #line 4268 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2460  _matrix = omc_List_transposeList(threadData, _matrix);
2461 #line 2461 OMC_FILE
2462 
2463 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2464  {
2465 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2466  modelica_metatype _$tmpVar15;
2467 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2468  modelica_metatype* tmp4;
2469 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2470  modelica_metatype _$tmpVar14;
2471 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2472  int tmp5;
2473 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2474  modelica_metatype row_loopVar = 0;
2475 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2477 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2478  row_loopVar = _matrix;
2479 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2480  tmpMeta[1] = MMC_REFSTRUCTLIT(mmc_nil);
2481 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2482  _$tmpVar15 = tmpMeta[1]; /* defaultValue */
2483 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2484  tmp4 = &_$tmpVar15;
2485 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2486  while(1) {
2487 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2488  tmp5 = 1;
2489 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2490  if (!listEmpty(row_loopVar)) {
2491 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2492  _row = MMC_CAR(row_loopVar);
2493 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2494  row_loopVar = MMC_CDR(row_loopVar);
2495 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2496  tmp5--;
2497 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2498  }
2499 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2500  if (tmp5 == 0) {
2501 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2502  _$tmpVar14 = omc_NFExpression_makeArray(threadData, _row_ty, _row, _literal);
2503 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2504  *tmp4 = mmc_mk_cons(_$tmpVar14,0);
2505 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2506  tmp4 = &MMC_CDR(*tmp4);
2507 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2508  } else if (tmp5 == 1) {
2509 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2510  break;
2511 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2512  } else {
2513 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2514  MMC_THROW_INTERNAL();
2515 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2516  }
2517 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2518  }
2519 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2520  *tmp4 = mmc_mk_nil();
2521 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2522  tmpMeta[0] = _$tmpVar15;
2523 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2524  }
2525 #line 4269 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2526  _expl = tmpMeta[0];
2527 #line 2527 OMC_FILE
2528  }
2529 
2530 #line 4272 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2531  tmpMeta[1] = mmc_mk_cons(_dim1, _rest_dims);
2532 #line 4272 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2533  tmpMeta[0] = mmc_mk_cons(_dim2, tmpMeta[1]);
2534 #line 4272 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2535  tmpMeta[2] = mmc_mk_box3(10, &NFType_ARRAY__desc, _ty, tmpMeta[0]);
2536 #line 4272 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2537  _outExp = omc_NFExpression_makeArray(threadData, tmpMeta[2], _expl, _literal);
2538 #line 2538 OMC_FILE
2539  _return: OMC_LABEL_UNUSED
2540  return _outExp;
2541 }
DLLExport modelica_metatype omc_NFExpression_arrayElements(threadData_t *threadData, modelica_metatype _array)
m_integer modelica_integer
signed char modelica_boolean
struct record_description NFType_ARRAY__desc
DLLExport modelica_metatype omc_NFExpression_makeArray(threadData_t *threadData, modelica_metatype _ty, modelica_metatype _expl, modelica_boolean _literal)
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
DLLExport modelica_metatype omc_List_transposeList(threadData_t *threadData, modelica_metatype _inList)
Definition: List.c:14643
Here is the caller graph for this function:

◆ omc_NFExpression_tupleElement()

DLLExport modelica_metatype omc_NFExpression_tupleElement ( threadData_t threadData,
modelica_metatype  _exp,
modelica_metatype  _ty,
modelica_integer  _index 
)

Definition at line 918 of file NFExpression.c.

919 {
920  modelica_metatype _tupleElem = NULL;
921  modelica_metatype tmpMeta[4] __attribute__((unused)) = {0};
922  MMC_SO();
923  _tailrecursive: OMC_LABEL_UNUSED
924 #line 924 OMC_FILE
925  { /* match expression */
926  modelica_metatype tmp3_1;
927  tmp3_1 = _exp;
928  {
929  modelica_metatype _ety = NULL;
930  int tmp3;
931  {
932  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
933  case 13: {
934 
935  /* Pattern matching succeeded */
936 #line 4570 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
937  tmpMeta[0] = listGet((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), (modelica_integer)_index);
938 #line 938 OMC_FILE
939  goto tmp2_done;
940  }
941  case 10: {
942 
943  /* Pattern matching succeeded */
944 #line 4574 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
945  _ety = omc_NFType_unliftArray(threadData, _ty);
946 #line 946 OMC_FILE
947 
948 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
949  {
950 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
951  modelica_metatype _$tmpVar7;
952 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
953  modelica_metatype* tmp4;
954 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
955  modelica_metatype _$tmpVar6;
956 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
957  int tmp5;
958 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
959  modelica_metatype e_loopVar = 0;
960 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
962 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
963  e_loopVar = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
964 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
965  tmpMeta[3] = MMC_REFSTRUCTLIT(mmc_nil);
966 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
967  _$tmpVar7 = tmpMeta[3]; /* defaultValue */
968 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
969  tmp4 = &_$tmpVar7;
970 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
971  while(1) {
972 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
973  tmp5 = 1;
974 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
975  if (!listEmpty(e_loopVar)) {
976 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
977  _e = MMC_CAR(e_loopVar);
978 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
979  e_loopVar = MMC_CDR(e_loopVar);
980 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
981  tmp5--;
982 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
983  }
984 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
985  if (tmp5 == 0) {
986 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
987  _$tmpVar6 = omc_NFExpression_tupleElement(threadData, _e, _ety, (modelica_integer)_index);
988 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
989  *tmp4 = mmc_mk_cons(_$tmpVar6,0);
990 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
991  tmp4 = &MMC_CDR(*tmp4);
992 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
993  } else if (tmp5 == 1) {
994 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
995  break;
996 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
997  } else {
998 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
999  goto goto_1;
1000 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1001  }
1002 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1003  }
1004 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1005  *tmp4 = mmc_mk_nil();
1006 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1007  tmpMeta[2] = _$tmpVar7;
1008 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1009  }
1010 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1011  tmpMeta[1] = MMC_TAGPTR(mmc_alloc_words(5));
1012 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1013  memcpy(MMC_UNTAGPTR(tmpMeta[1]), MMC_UNTAGPTR(_exp), 5*sizeof(modelica_metatype));
1014 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1015  ((modelica_metatype*)MMC_UNTAGPTR(tmpMeta[1]))[3] = tmpMeta[2];
1016 #line 4575 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1017  _exp = tmpMeta[1];
1018 #line 1018 OMC_FILE
1019 #line 4576 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1020  tmpMeta[0] = _exp;
1021 #line 1021 OMC_FILE
1022  goto tmp2_done;
1023  }
1024  default:
1025  tmp2_default: OMC_LABEL_UNUSED; {
1026 
1027  /* Pattern matching succeeded */
1028 #line 4579 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1029  tmpMeta[1] = mmc_mk_box4(27, &NFExpression_TUPLE__ELEMENT__desc, _exp, mmc_mk_integer((modelica_integer)_index), _ty);
1030 #line 4579 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1031  tmpMeta[0] = tmpMeta[1];
1032 #line 1032 OMC_FILE
1033  goto tmp2_done;
1034  }
1035  }
1036  goto tmp2_end;
1037  tmp2_end: ;
1038  }
1039  goto goto_1;
1040  goto_1:;
1041  MMC_THROW_INTERNAL();
1042  goto tmp2_done;
1043  tmp2_done:;
1044  }
1045  }
1046  _tupleElem = tmpMeta[0];
1047  _return: OMC_LABEL_UNUSED
1048  return _tupleElem;
1049 }
struct record_description NFExpression_TUPLE__ELEMENT__desc
m_integer modelica_integer
void * memcpy(void *UA_RESTRICT dest, const void *UA_RESTRICT src, size_t n)
DLLExport modelica_metatype omc_NFExpression_tupleElement(threadData_t *threadData, modelica_metatype _exp, modelica_metatype _ty, modelica_integer _index)
Definition: NFExpression.c:918
void * modelica_metatype
DLLExport modelica_metatype omc_NFType_unliftArray(threadData_t *threadData, modelica_metatype _ $in_ty)
Definition: NFType.c:3915
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_typeCast()

DLLExport modelica_metatype omc_NFExpression_typeCast ( threadData_t threadData,
modelica_metatype  _exp,
modelica_metatype  _castTy 
)

Definition at line 18085 of file NFExpression.c.

18086 {
18087  modelica_metatype _castExp = NULL;
18088  modelica_metatype tmpMeta[1] __attribute__((unused)) = {0};
18089  MMC_SO();
18090  _tailrecursive: OMC_LABEL_UNUSED
18091  tmpMeta[0] = mmc_mk_box3(24, &NFExpression_CAST__desc, _castTy, _exp);
18092  _castExp = tmpMeta[0];
18093  _return: OMC_LABEL_UNUSED
18094  return _castExp;
18095 }
struct record_description NFExpression_CAST__desc
void * modelica_metatype
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21

◆ omc_NFExpression_typeCastElements()

DLLExport modelica_metatype omc_NFExpression_typeCastElements ( threadData_t threadData,
modelica_metatype $in_exp,
modelica_metatype  _ty 
)

Definition at line 17900 of file NFExpression.c.

17901 {
17902  modelica_metatype _exp = NULL;
17903  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
17904  MMC_SO();
17905  _tailrecursive: OMC_LABEL_UNUSED
17906  _exp = _$in_exp;
17907 #line 17907 OMC_FILE
17908  { /* match expression */
17909  modelica_metatype tmp3_1;modelica_metatype tmp3_2;
17910  tmp3_1 = _exp;
17911  tmp3_2 = _ty;
17912  {
17913  modelica_metatype _t = NULL;
17914  modelica_metatype _ety = NULL;
17915  modelica_metatype _el = NULL;
17916  volatile mmc_switch_type tmp3;
17917  int tmp4;
17918  tmp3 = 0;
17919  for (; tmp3 < 6; tmp3++) {
17920  switch (MMC_SWITCH_CAST(tmp3)) {
17921  case 0: {
17922  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,0,1) == 0) goto tmp2_end;
17923  if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,0) == 0) goto tmp2_end;
17924  /* Pattern matching succeeded */
17925 #line 824 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17926  tmpMeta[1] = mmc_mk_box2(4, &NFExpression_REAL__desc, mmc_mk_real(((modelica_real)(mmc_unbox_integer((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))))))));
17927 #line 824 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17928  tmpMeta[0] = tmpMeta[1];
17929 #line 17929 OMC_FILE
17930  goto tmp2_done;
17931  }
17932  case 1: {
17933  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,1,1) == 0) goto tmp2_end;
17934  if (mmc__uniontype__metarecord__typedef__equal(tmp3_2,1,0) == 0) goto tmp2_end;
17935  /* Pattern matching succeeded */
17936 #line 826 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17937  tmpMeta[0] = _exp;
17938 #line 17938 OMC_FILE
17939  goto tmp2_done;
17940  }
17941  case 2: {
17942  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,7,3) == 0) goto tmp2_end;
17943  tmpMeta[1] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 2));
17944  tmpMeta[2] = MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(tmp3_1), 3));
17945 
17946  _t = tmpMeta[1];
17947  _el = tmpMeta[2];
17948  /* Pattern matching succeeded */
17949 #line 830 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17950  _ety = omc_NFType_arrayElementType(threadData, _ty);
17951 #line 17951 OMC_FILE
17952 
17953 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17954  {
17955 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17956  modelica_metatype _$tmpVar99;
17957 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17958  modelica_metatype* tmp5;
17959 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17960  modelica_metatype _$tmpVar98;
17961 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17962  int tmp6;
17963 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17964  modelica_metatype e_loopVar = 0;
17965 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17966  modelica_metatype _e;
17967 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17968  e_loopVar = _el;
17969 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17970  tmpMeta[2] = MMC_REFSTRUCTLIT(mmc_nil);
17971 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17972  _$tmpVar99 = tmpMeta[2]; /* defaultValue */
17973 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17974  tmp5 = &_$tmpVar99;
17975 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17976  while(1) {
17977 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17978  tmp6 = 1;
17979 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17980  if (!listEmpty(e_loopVar)) {
17981 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17982  _e = MMC_CAR(e_loopVar);
17983 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17984  e_loopVar = MMC_CDR(e_loopVar);
17985 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17986  tmp6--;
17987 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17988  }
17989 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17990  if (tmp6 == 0) {
17991 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17992  _$tmpVar98 = omc_NFExpression_typeCastElements(threadData, _e, _ety);
17993 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17994  *tmp5 = mmc_mk_cons(_$tmpVar98,0);
17995 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17996  tmp5 = &MMC_CDR(*tmp5);
17997 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
17998  } else if (tmp6 == 1) {
17999 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18000  break;
18001 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18002  } else {
18003 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18004  goto goto_1;
18005 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18006  }
18007 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18008  }
18009 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18010  *tmp5 = mmc_mk_nil();
18011 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18012  tmpMeta[1] = _$tmpVar99;
18013 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18014  }
18015 #line 831 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18016  _el = tmpMeta[1];
18017 #line 18017 OMC_FILE
18018 
18019 #line 832 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18020  _t = omc_NFType_setArrayElementType(threadData, _t, _ty);
18021 #line 18021 OMC_FILE
18022 #line 833 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18023  tmpMeta[1] = mmc_mk_box4(10, &NFExpression_ARRAY__desc, _t, _el, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))));
18024 #line 833 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18025  tmpMeta[0] = tmpMeta[1];
18026 #line 18026 OMC_FILE
18027  goto tmp2_done;
18028  }
18029  case 3: {
18030  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,16,2) == 0) goto tmp2_end;
18031 
18032  /* Pattern matching succeeded */
18033 #line 837 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18034  tmpMeta[1] = mmc_mk_box3(19, &NFExpression_UNARY__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), omc_NFExpression_typeCastElements(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _ty));
18035 #line 837 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18036  tmpMeta[0] = tmpMeta[1];
18037 #line 18037 OMC_FILE
18038  goto tmp2_done;
18039  }
18040  case 4: {
18041  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,20,3) == 0) goto tmp2_end;
18042 
18043  /* Pattern matching succeeded */
18044 #line 840 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18045  tmpMeta[1] = mmc_mk_box4(23, &NFExpression_IF__desc, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), omc_NFExpression_typeCastElements(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), _ty), omc_NFExpression_typeCastElements(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), _ty));
18046 #line 840 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18047  tmpMeta[0] = tmpMeta[1];
18048 #line 18048 OMC_FILE
18049  goto tmp2_done;
18050  }
18051  case 5: {
18052 
18053  /* Pattern matching succeeded */
18054 #line 846 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18055  _t = omc_NFExpression_typeOf(threadData, _exp);
18056 #line 18056 OMC_FILE
18057 
18058 #line 847 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18059  _t = omc_NFType_setArrayElementType(threadData, _t, _ty);
18060 #line 18060 OMC_FILE
18061 #line 848 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18062  tmpMeta[1] = mmc_mk_box3(24, &NFExpression_CAST__desc, _t, _exp);
18063 #line 848 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18064  tmpMeta[0] = tmpMeta[1];
18065 #line 18065 OMC_FILE
18066  goto tmp2_done;
18067  }
18068  }
18069  goto tmp2_end;
18070  tmp2_end: ;
18071  }
18072  goto goto_1;
18073  goto_1:;
18074  MMC_THROW_INTERNAL();
18075  goto tmp2_done;
18076  tmp2_done:;
18077  }
18078  }
18079  _exp = tmpMeta[0];
18080  _return: OMC_LABEL_UNUSED
18081  return _exp;
18082 }
struct record_description NFExpression_CAST__desc
DLLExport modelica_metatype omc_NFType_setArrayElementType(threadData_t *threadData, modelica_metatype _arrayTy, modelica_metatype _elementTy)
Definition: NFType.c:2181
double modelica_real
DLLExport modelica_metatype omc_NFExpression_typeOf(threadData_t *threadData, modelica_metatype _exp)
float mmc_switch_type
struct record_description NFExpression_ARRAY__desc
struct record_description NFExpression_IF__desc
DLLExport modelica_metatype omc_NFExpression_typeCastElements(threadData_t *threadData, modelica_metatype _ $in_exp, modelica_metatype _ty)
void * modelica_metatype
struct record_description NFExpression_REAL__desc
struct record_description NFExpression_UNARY__desc
DLLExport modelica_metatype omc_NFType_arrayElementType(threadData_t *threadData, modelica_metatype _ty)
Definition: NFType.c:2233
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_typeOf()

DLLExport modelica_metatype omc_NFExpression_typeOf ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 18422 of file NFExpression.c.

18423 {
18424  modelica_metatype _ty = NULL;
18425  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
18426  MMC_SO();
18427  _tailrecursive: OMC_LABEL_UNUSED
18428 #line 18428 OMC_FILE
18429  { /* match expression */
18430  modelica_metatype tmp3_1;
18431  tmp3_1 = _exp;
18432  {
18433  int tmp3;
18434  {
18435  switch (MMC_SWITCH_CAST(valueConstructor(tmp3_1))) {
18436  case 3: {
18437 
18438  /* Pattern matching succeeded */
18439 #line 746 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18440  tmpMeta[0] = _OMC_LIT17;
18441 #line 18441 OMC_FILE
18442  goto tmp2_done;
18443  }
18444  case 4: {
18445 
18446  /* Pattern matching succeeded */
18447 #line 747 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18448  tmpMeta[0] = _OMC_LIT84;
18449 #line 18449 OMC_FILE
18450  goto tmp2_done;
18451  }
18452  case 5: {
18453 
18454  /* Pattern matching succeeded */
18455 #line 748 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18456  tmpMeta[0] = _OMC_LIT86;
18457 #line 18457 OMC_FILE
18458  goto tmp2_done;
18459  }
18460  case 6: {
18461 
18462  /* Pattern matching succeeded */
18463 #line 749 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18464  tmpMeta[0] = _OMC_LIT87;
18465 #line 18465 OMC_FILE
18466  goto tmp2_done;
18467  }
18468  case 7: {
18469 
18470  /* Pattern matching succeeded */
18471 #line 750 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18472  tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)));
18473 #line 18473 OMC_FILE
18474  goto tmp2_done;
18475  }
18476  case 32: {
18477 
18478  /* Pattern matching succeeded */
18479 #line 751 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18480  tmpMeta[0] = _OMC_LIT88;
18481 #line 18481 OMC_FILE
18482  goto tmp2_done;
18483  }
18484  case 8: {
18485 
18486  /* Pattern matching succeeded */
18487 #line 752 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18488  tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)));
18489 #line 18489 OMC_FILE
18490  goto tmp2_done;
18491  }
18492  case 10: {
18493 
18494  /* Pattern matching succeeded */
18495 #line 753 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18496  tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)));
18497 #line 18497 OMC_FILE
18498  goto tmp2_done;
18499  }
18500  case 12: {
18501 
18502  /* Pattern matching succeeded */
18503 #line 754 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18504  tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)));
18505 #line 18505 OMC_FILE
18506  goto tmp2_done;
18507  }
18508  case 13: {
18509 
18510  /* Pattern matching succeeded */
18511 #line 755 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18512  tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)));
18513 #line 18513 OMC_FILE
18514  goto tmp2_done;
18515  }
18516  case 14: {
18517 
18518  /* Pattern matching succeeded */
18519 #line 756 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18520  tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
18521 #line 18521 OMC_FILE
18522  goto tmp2_done;
18523  }
18524  case 15: {
18525 
18526  /* Pattern matching succeeded */
18527 #line 757 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18528  tmpMeta[0] = omc_NFCall_Call_typeOf(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
18529 #line 18529 OMC_FILE
18530  goto tmp2_done;
18531  }
18532  case 16: {
18533  modelica_boolean tmp4;
18534 
18535  /* Pattern matching succeeded */
18536 #line 758 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18537  tmp4 = (modelica_boolean)isSome((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
18538 #line 758 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18539  if(tmp4)
18540 #line 758 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18541  {
18542 #line 758 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18543  tmpMeta[1] = _OMC_LIT17;
18544 #line 758 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18545  }
18546 #line 758 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18547  else
18548 #line 758 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18549  {
18550 #line 758 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18551  /* Tail recursive call */
18552 #line 758 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18553  _exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)));
18554 #line 758 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18555  goto _tailrecursive;
18556 #line 758 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18557  /* TODO: Make sure any eventual dead code below is never generated */
18558 #line 758 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18559  }
18560 #line 758 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18561  tmpMeta[0] = tmpMeta[1];
18562 #line 18562 OMC_FILE
18563  goto tmp2_done;
18564  }
18565  case 17: {
18566 
18567  /* Pattern matching succeeded */
18568 #line 760 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18569  tmpMeta[0] = _OMC_LIT17;
18570 #line 18570 OMC_FILE
18571  goto tmp2_done;
18572  }
18573  case 18: {
18574 
18575  /* Pattern matching succeeded */
18576 #line 761 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18577  tmpMeta[0] = omc_NFOperator_typeOf(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
18578 #line 18578 OMC_FILE
18579  goto tmp2_done;
18580  }
18581  case 19: {
18582 
18583  /* Pattern matching succeeded */
18584 #line 762 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18585  tmpMeta[0] = omc_NFOperator_typeOf(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
18586 #line 18586 OMC_FILE
18587  goto tmp2_done;
18588  }
18589  case 20: {
18590 
18591  /* Pattern matching succeeded */
18592 #line 763 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18593  tmpMeta[0] = omc_NFOperator_typeOf(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
18594 #line 18594 OMC_FILE
18595  goto tmp2_done;
18596  }
18597  case 21: {
18598 
18599  /* Pattern matching succeeded */
18600 #line 764 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18601  tmpMeta[0] = omc_NFOperator_typeOf(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
18602 #line 18602 OMC_FILE
18603  goto tmp2_done;
18604  }
18605  case 22: {
18606 
18607  /* Pattern matching succeeded */
18608 #line 765 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18609  tmpMeta[0] = omc_NFOperator_typeOf(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
18610 #line 18610 OMC_FILE
18611  goto tmp2_done;
18612  }
18613  case 23: {
18614 
18615  /* Pattern matching succeeded */
18616 #line 766 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18617  /* Tail recursive call */
18618 #line 766 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18619  _exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
18620 #line 766 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18621  goto _tailrecursive;
18622 #line 766 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18623  /* TODO: Make sure any eventual dead code below is never generated */
18624 #line 18624 OMC_FILE
18625  goto tmp2_done;
18626  }
18627  case 24: {
18628 
18629  /* Pattern matching succeeded */
18630 #line 767 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18631  tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)));
18632 #line 18632 OMC_FILE
18633  goto tmp2_done;
18634  }
18635  case 25: {
18636 
18637  /* Pattern matching succeeded */
18638 #line 768 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18639  tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
18640 #line 18640 OMC_FILE
18641  goto tmp2_done;
18642  }
18643  case 26: {
18644 
18645  /* Pattern matching succeeded */
18646 #line 769 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18647  tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4)));
18648 #line 18648 OMC_FILE
18649  goto tmp2_done;
18650  }
18651  case 27: {
18652 
18653  /* Pattern matching succeeded */
18654 #line 770 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18655  tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4)));
18656 #line 18656 OMC_FILE
18657  goto tmp2_done;
18658  }
18659  case 28: {
18660 
18661  /* Pattern matching succeeded */
18662 #line 771 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18663  tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5)));
18664 #line 18664 OMC_FILE
18665  goto tmp2_done;
18666  }
18667  case 29: {
18668 
18669  /* Pattern matching succeeded */
18670 #line 772 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18671  tmpMeta[1] = mmc_mk_box2(16, &NFType_METABOXED__desc, omc_NFExpression_typeOf(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))));
18672 #line 772 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18673  tmpMeta[0] = tmpMeta[1];
18674 #line 18674 OMC_FILE
18675  goto tmp2_done;
18676  }
18677  case 30: {
18678 
18679  /* Pattern matching succeeded */
18680 #line 773 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18681  /* Tail recursive call */
18682 #line 773 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18683  _exp = omc_Mutable_access(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
18684 #line 773 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18685  goto _tailrecursive;
18686 #line 773 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18687  /* TODO: Make sure any eventual dead code below is never generated */
18688 #line 18688 OMC_FILE
18689  goto tmp2_done;
18690  }
18691  case 31: {
18692 
18693  /* Pattern matching succeeded */
18694 #line 774 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18695  tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)));
18696 #line 18696 OMC_FILE
18697  goto tmp2_done;
18698  }
18699  case 33: {
18700 
18701  /* Pattern matching succeeded */
18702 #line 775 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18703  tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5)));
18704 #line 18704 OMC_FILE
18705  goto tmp2_done;
18706  }
18707  default:
18708  tmp2_default: OMC_LABEL_UNUSED; {
18709 
18710  /* Pattern matching succeeded */
18711 #line 776 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
18712  tmpMeta[0] = _OMC_LIT34;
18713 #line 18713 OMC_FILE
18714  goto tmp2_done;
18715  }
18716  }
18717  goto tmp2_end;
18718  tmp2_end: ;
18719  }
18720  goto goto_1;
18721  goto_1:;
18722  MMC_THROW_INTERNAL();
18723  goto tmp2_done;
18724  tmp2_done:;
18725  }
18726  }
18727  _ty = tmpMeta[0];
18728  _return: OMC_LABEL_UNUSED
18729  return _ty;
18730 }
DLLExport modelica_metatype omc_NFOperator_typeOf(threadData_t *threadData, modelica_metatype _op)
Definition: NFOperator.c:1467
DLLExport modelica_metatype omc_NFExpression_typeOf(threadData_t *threadData, modelica_metatype _exp)
signed char modelica_boolean
modelica_metatype omc_Mutable_access(threadData_t *threadData, modelica_metatype _mutable)
Definition: Mutable.c:13
struct record_description NFType_METABOXED__desc
void * modelica_metatype
DLLExport modelica_metatype omc_NFCall_Call_typeOf(threadData_t *threadData, modelica_metatype _call)
Definition: NFCall.c:4812
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the caller graph for this function:

◆ omc_NFExpression_unbox()

DLLExport modelica_metatype omc_NFExpression_unbox ( threadData_t threadData,
modelica_metatype  _boxedExp 
)

Definition at line 2857 of file NFExpression.c.

2858 {
2859  modelica_metatype _exp = NULL;
2860  modelica_metatype tmpMeta[3] __attribute__((unused)) = {0};
2861  MMC_SO();
2862  _tailrecursive: OMC_LABEL_UNUSED
2863 #line 2863 OMC_FILE
2864  { /* match expression */
2865  modelica_metatype tmp3_1;
2866  tmp3_1 = _boxedExp;
2867  {
2868  modelica_metatype _ty = NULL;
2869  volatile mmc_switch_type tmp3;
2870  int tmp4;
2871  tmp3 = 0;
2872  for (; tmp3 < 2; tmp3++) {
2873  switch (MMC_SWITCH_CAST(tmp3)) {
2874  case 0: {
2875  if (mmc__uniontype__metarecord__typedef__equal(tmp3_1,26,1) == 0) goto tmp2_end;
2876 
2877  /* Pattern matching succeeded */
2878 #line 4159 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2879  tmpMeta[0] = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_boxedExp), 2)));
2880 #line 2880 OMC_FILE
2881  goto tmp2_done;
2882  }
2883  case 1: {
2884  modelica_boolean tmp5;
2885 
2886  /* Pattern matching succeeded */
2887 #line 4163 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2888  _ty = omc_NFExpression_typeOf(threadData, _boxedExp);
2889 #line 2889 OMC_FILE
2890 #line 4164 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2891  tmp5 = (modelica_boolean)omc_NFType_isBoxed(threadData, _ty);
2892 #line 4164 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2893  if(tmp5)
2894 #line 4164 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2895  {
2896 #line 4164 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2897  tmpMeta[1] = mmc_mk_box3(25, &NFExpression_UNBOX__desc, _boxedExp, omc_NFType_unbox(threadData, _ty));
2898 #line 4164 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2899  tmpMeta[2] = tmpMeta[1];
2900 #line 4164 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2901  }
2902 #line 4164 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2903  else
2904 #line 4164 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2905  {
2906 #line 4164 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2907  tmpMeta[2] = _boxedExp;
2908 #line 4164 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2909  }
2910 #line 4164 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
2911  tmpMeta[0] = tmpMeta[2];
2912 #line 2912 OMC_FILE
2913  goto tmp2_done;
2914  }
2915  }
2916  goto tmp2_end;
2917  tmp2_end: ;
2918  }
2919  goto goto_1;
2920  goto_1:;
2921  MMC_THROW_INTERNAL();
2922  goto tmp2_done;
2923  tmp2_done:;
2924  }
2925  }
2926  _exp = tmpMeta[0];
2927  _return: OMC_LABEL_UNUSED
2928  return _exp;
2929 }
struct record_description NFExpression_UNBOX__desc
DLLExport modelica_metatype omc_NFExpression_typeOf(threadData_t *threadData, modelica_metatype _exp)
signed char modelica_boolean
float mmc_switch_type
DLLExport modelica_boolean omc_NFType_isBoxed(threadData_t *threadData, modelica_metatype _ty)
Definition: NFType.c:104
void * modelica_metatype
DLLExport modelica_metatype omc_NFType_unbox(threadData_t *threadData, modelica_metatype _ty)
Definition: NFType.c:162
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_variability()

DLLExport modelica_integer omc_NFExpression_variability ( threadData_t threadData,
modelica_metatype  _exp 
)

Definition at line 1499 of file NFExpression.c.

1500 {
1501  modelica_integer _var;
1502  modelica_integer tmp1 = 0;
1503  MMC_SO();
1504  _tailrecursive: OMC_LABEL_UNUSED
1505 #line 1505 OMC_FILE
1506  { /* match expression */
1507  modelica_metatype tmp4_1;
1508  tmp4_1 = _exp;
1509  {
1510  int tmp4;
1511  {
1512  switch (MMC_SWITCH_CAST(valueConstructor(tmp4_1))) {
1513  case 3: {
1514 
1515  /* Pattern matching succeeded */
1516 #line 4394 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1517  tmp1 = 1;
1518 #line 1518 OMC_FILE
1519  goto tmp3_done;
1520  }
1521  case 4: {
1522 
1523  /* Pattern matching succeeded */
1524 #line 4395 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1525  tmp1 = 1;
1526 #line 1526 OMC_FILE
1527  goto tmp3_done;
1528  }
1529  case 5: {
1530 
1531  /* Pattern matching succeeded */
1532 #line 4396 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1533  tmp1 = 1;
1534 #line 1534 OMC_FILE
1535  goto tmp3_done;
1536  }
1537  case 6: {
1538 
1539  /* Pattern matching succeeded */
1540 #line 4397 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1541  tmp1 = 1;
1542 #line 1542 OMC_FILE
1543  goto tmp3_done;
1544  }
1545  case 7: {
1546 
1547  /* Pattern matching succeeded */
1548 #line 4398 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1549  tmp1 = 1;
1550 #line 1550 OMC_FILE
1551  goto tmp3_done;
1552  }
1553  case 32: {
1554 
1555  /* Pattern matching succeeded */
1556 #line 4399 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1557  tmp1 = 4;
1558 #line 1558 OMC_FILE
1559  goto tmp3_done;
1560  }
1561  case 8: {
1562 
1563  /* Pattern matching succeeded */
1564 #line 4400 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1565  tmp1 = omc_NFComponentRef_variability(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
1566 #line 1566 OMC_FILE
1567  goto tmp3_done;
1568  }
1569  case 9: {
1570 
1571  /* Pattern matching succeeded */
1572 #line 4401 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1573  tmp1 = 1;
1574 #line 1574 OMC_FILE
1575  goto tmp3_done;
1576  }
1577  case 10: {
1578 
1579  /* Pattern matching succeeded */
1580 #line 4402 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1581  tmp1 = omc_NFExpression_variabilityList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), 1);
1582 #line 1582 OMC_FILE
1583  goto tmp3_done;
1584  }
1585  case 11: {
1586 
1587  /* Pattern matching succeeded */
1588 #line 4403 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1589  tmp1 = mmc_unbox_integer(omc_List_fold(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))), boxvar_NFExpression_variabilityList, mmc_mk_integer(1)));
1590 #line 1590 OMC_FILE
1591  goto tmp3_done;
1592  }
1593  case 12: {
1594 
1595  /* Pattern matching succeeded */
1596 #line 4407 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1597  _var = omc_NFExpression_variability(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))));
1598 #line 1598 OMC_FILE
1599 
1600 #line 4408 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1601  _var = omc_NFPrefixes_variabilityMax(threadData, (modelica_integer)_var, omc_NFExpression_variability(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 5)))));
1602 #line 1602 OMC_FILE
1603 
1604 #line 4410 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1605  if(isSome((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4)))))
1606 #line 4410 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1607  {
1608 #line 4411 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1609  _var = omc_NFPrefixes_variabilityMax(threadData, (modelica_integer)_var, omc_NFExpression_variability(threadData, omc_Util_getOption(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))))));
1610 #line 1610 OMC_FILE
1611  }
1612 #line 4413 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1613  tmp1 = (modelica_integer)_var;
1614 #line 1614 OMC_FILE
1615  goto tmp3_done;
1616  }
1617  case 13: {
1618 
1619  /* Pattern matching succeeded */
1620 #line 4416 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1621  tmp1 = omc_NFExpression_variabilityList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))), 1);
1622 #line 1622 OMC_FILE
1623  goto tmp3_done;
1624  }
1625  case 14: {
1626 
1627  /* Pattern matching succeeded */
1628 #line 4417 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1629  tmp1 = omc_NFExpression_variabilityList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))), 1);
1630 #line 1630 OMC_FILE
1631  goto tmp3_done;
1632  }
1633  case 15: {
1634 
1635  /* Pattern matching succeeded */
1636 #line 4418 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1637  tmp1 = omc_NFCall_Call_variability(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2))));
1638 #line 1638 OMC_FILE
1639  goto tmp3_done;
1640  }
1641  case 16: {
1642 
1643  /* Pattern matching succeeded */
1644 #line 4421 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1645  if(isSome((MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))))
1646 #line 4421 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1647  {
1648 #line 4422 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1649  _var = omc_NFPrefixes_variabilityMax(threadData, 3, omc_NFExpression_variability(threadData, omc_Util_getOption(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3))))));
1650 #line 1650 OMC_FILE
1651  }
1652  else
1653  {
1654 #line 4425 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1655  _var = 3;
1656 #line 1656 OMC_FILE
1657  }
1658 #line 4427 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1659  tmp1 = (modelica_integer)_var;
1660 #line 1660 OMC_FILE
1661  goto tmp3_done;
1662  }
1663  case 17: {
1664 
1665  /* Pattern matching succeeded */
1666 #line 4430 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1667  tmp1 = 3;
1668 #line 1668 OMC_FILE
1669  goto tmp3_done;
1670  }
1671  case 18: {
1672 
1673  /* Pattern matching succeeded */
1674 #line 4431 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1675  tmp1 = omc_NFPrefixes_variabilityMax(threadData, omc_NFExpression_variability(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))), omc_NFExpression_variability(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4)))));
1676 #line 1676 OMC_FILE
1677  goto tmp3_done;
1678  }
1679  case 19: {
1680 
1681  /* Pattern matching succeeded */
1682 #line 4432 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1683  /* Tail recursive call */
1684 #line 4432 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1685  _exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
1686 #line 4432 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1687  goto _tailrecursive;
1688 #line 4432 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1689  /* TODO: Make sure any eventual dead code below is never generated */
1690 #line 1690 OMC_FILE
1691  goto tmp3_done;
1692  }
1693  case 20: {
1694 
1695  /* Pattern matching succeeded */
1696 #line 4433 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1697  tmp1 = omc_NFPrefixes_variabilityMax(threadData, omc_NFExpression_variability(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))), omc_NFExpression_variability(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4)))));
1698 #line 1698 OMC_FILE
1699  goto tmp3_done;
1700  }
1701  case 21: {
1702 
1703  /* Pattern matching succeeded */
1704 #line 4434 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1705  /* Tail recursive call */
1706 #line 4434 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1707  _exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
1708 #line 4434 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1709  goto _tailrecursive;
1710 #line 4434 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1711  /* TODO: Make sure any eventual dead code below is never generated */
1712 #line 1712 OMC_FILE
1713  goto tmp3_done;
1714  }
1715  case 22: {
1716 
1717  /* Pattern matching succeeded */
1718 #line 4436 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1719  tmp1 = omc_NFPrefixes_variabilityMin(threadData, omc_NFPrefixes_variabilityMax(threadData, omc_NFExpression_variability(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))), omc_NFExpression_variability(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))))), 4);
1720 #line 1720 OMC_FILE
1721  goto tmp3_done;
1722  }
1723  case 23: {
1724 
1725  /* Pattern matching succeeded */
1726 #line 4441 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1727  tmp1 = omc_NFPrefixes_variabilityMax(threadData, omc_NFExpression_variability(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))), omc_NFPrefixes_variabilityMax(threadData, omc_NFExpression_variability(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))), omc_NFExpression_variability(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 4))))));
1728 #line 1728 OMC_FILE
1729  goto tmp3_done;
1730  }
1731  case 24: {
1732 
1733  /* Pattern matching succeeded */
1734 #line 4444 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1735  /* Tail recursive call */
1736 #line 4444 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1737  _exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)));
1738 #line 4444 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1739  goto _tailrecursive;
1740 #line 4444 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1741  /* TODO: Make sure any eventual dead code below is never generated */
1742 #line 1742 OMC_FILE
1743  goto tmp3_done;
1744  }
1745  case 25: {
1746 
1747  /* Pattern matching succeeded */
1748 #line 4445 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1749  /* Tail recursive call */
1750 #line 4445 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1751  _exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)));
1752 #line 4445 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1753  goto _tailrecursive;
1754 #line 4445 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1755  /* TODO: Make sure any eventual dead code below is never generated */
1756 #line 1756 OMC_FILE
1757  goto tmp3_done;
1758  }
1759  case 26: {
1760 
1761  /* Pattern matching succeeded */
1762 #line 4447 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1763  tmp1 = omc_NFPrefixes_variabilityMax(threadData, omc_NFExpression_variability(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)))), omc_NFSubscript_variabilityList(threadData, (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 3)))));
1764 #line 1764 OMC_FILE
1765  goto tmp3_done;
1766  }
1767  case 27: {
1768 
1769  /* Pattern matching succeeded */
1770 #line 4448 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1771  /* Tail recursive call */
1772 #line 4448 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1773  _exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)));
1774 #line 4448 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1775  goto _tailrecursive;
1776 #line 4448 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1777  /* TODO: Make sure any eventual dead code below is never generated */
1778 #line 1778 OMC_FILE
1779  goto tmp3_done;
1780  }
1781  case 28: {
1782 
1783  /* Pattern matching succeeded */
1784 #line 4449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1785  /* Tail recursive call */
1786 #line 4449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1787  _exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)));
1788 #line 4449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1789  goto _tailrecursive;
1790 #line 4449 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1791  /* TODO: Make sure any eventual dead code below is never generated */
1792 #line 1792 OMC_FILE
1793  goto tmp3_done;
1794  }
1795  case 29: {
1796 
1797  /* Pattern matching succeeded */
1798 #line 4450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1799  /* Tail recursive call */
1800 #line 4450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1801  _exp = (MMC_FETCH(MMC_OFFSET(MMC_UNTAGPTR(_exp), 2)));
1802 #line 4450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1803  goto _tailrecursive;
1804 #line 4450 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1805  /* TODO: Make sure any eventual dead code below is never generated */
1806 #line 1806 OMC_FILE
1807  goto tmp3_done;
1808  }
1809  case 33: {
1810 
1811  /* Pattern matching succeeded */
1812 #line 4451 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1813  tmp1 = 6;
1814 #line 1814 OMC_FILE
1815  goto tmp3_done;
1816  }
1817  default:
1818  tmp3_default: OMC_LABEL_UNUSED; {
1819 
1820  /* Pattern matching succeeded */
1821 #line 4454 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1822  omc_Error_assertion(threadData, 0, _OMC_LIT29, _OMC_LIT31);
1823 #line 1823 OMC_FILE
1824 #line 4455 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1825  goto goto_2;
1826 #line 1826 OMC_FILE
1827  goto tmp3_done;
1828  }
1829  }
1830  goto tmp3_end;
1831  tmp3_end: ;
1832  }
1833  goto goto_2;
1834  goto_2:;
1835  MMC_THROW_INTERNAL();
1836  goto tmp3_done;
1837  tmp3_done:;
1838  }
1839  }
1840  _var = tmp1;
1841  _return: OMC_LABEL_UNUSED
1842  return _var;
1843 }
DLLExport modelica_integer omc_NFExpression_variability(threadData_t *threadData, modelica_metatype _exp)
m_integer modelica_integer
DLLExport modelica_integer omc_NFPrefixes_variabilityMin(threadData_t *threadData, modelica_integer _var1, modelica_integer _var2)
Definition: NFPrefixes.c:1132
DLLExport void omc_Error_assertion(threadData_t *threadData, modelica_boolean _b, modelica_string _message, modelica_metatype _info)
Definition: Error.c:325
DLLExport modelica_integer omc_NFComponentRef_variability(threadData_t *threadData, modelica_metatype _cref)
DLLExport modelica_metatype omc_Util_getOption(threadData_t *threadData, modelica_metatype _inOption)
Definition: Util.c:3546
DLLExport modelica_integer omc_NFSubscript_variabilityList(threadData_t *threadData, modelica_metatype _subscripts)
Definition: NFSubscript.c:358
DLLExport modelica_integer omc_NFExpression_variabilityList(threadData_t *threadData, modelica_metatype _expl, modelica_integer _ $in_var)
void * modelica_metatype
DLLExport modelica_integer omc_NFPrefixes_variabilityMax(threadData_t *threadData, modelica_integer _var1, modelica_integer _var2)
Definition: NFPrefixes.c:1155
DLLExport modelica_metatype omc_List_fold(threadData_t *threadData, modelica_metatype _inList, modelica_fnptr _inFoldFunc, modelica_metatype _inStartValue)
Definition: List.c:9662
DLLExport modelica_integer omc_NFCall_Call_variability(threadData_t *threadData, modelica_metatype _call)
Definition: NFCall.c:4520
Here is the call graph for this function:
Here is the caller graph for this function:

◆ omc_NFExpression_variabilityList()

DLLExport modelica_integer omc_NFExpression_variabilityList ( threadData_t threadData,
modelica_metatype  _expl,
modelica_integer $in_var 
)

Definition at line 1462 of file NFExpression.c.

1463 {
1464  modelica_integer _var;
1465  modelica_metatype tmpMeta[2] __attribute__((unused)) = {0};
1466  MMC_SO();
1467  _tailrecursive: OMC_LABEL_UNUSED
1468  _var = (modelica_integer)_$in_var;
1469 #line 4464 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1470  {
1471 #line 4464 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1472  modelica_metatype _e;
1473 #line 4464 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1474  for (tmpMeta[0] = _expl; !listEmpty(tmpMeta[0]); tmpMeta[0]=MMC_CDR(tmpMeta[0]))
1475 #line 4464 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1476  {
1477 #line 4464 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1478  _e = MMC_CAR(tmpMeta[0]);
1479 #line 4465 "/omcompiler/Compiler/NFFrontEnd/NFExpression.mo"
1480  _var = omc_NFPrefixes_variabilityMax(threadData, (modelica_integer)_var, omc_NFExpression_variability(threadData, _e));
1481 #line 1481 OMC_FILE
1482  }
1483  }
1484  _return: OMC_LABEL_UNUSED
1485  return _var;
1486 }
DLLExport modelica_integer omc_NFExpression_variability(threadData_t *threadData, modelica_metatype _exp)
m_integer modelica_integer
void * modelica_metatype
DLLExport modelica_integer omc_NFPrefixes_variabilityMax(threadData_t *threadData, modelica_integer _var1, modelica_integer _var2)
Definition: NFPrefixes.c:1155
unsigned long AO_t __attribute__((aligned(4)))
Definition: m68k.h:21
int line
Definition: de.c:117
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ Absyn_Path_IDENT__desc

struct record_description Absyn_Path_IDENT__desc

Definition at line 3541 of file OpenModelicaBootstrappingHeader.h.

◆ DAE_ClockKind_BOOLEAN__CLOCK__desc

struct record_description DAE_ClockKind_BOOLEAN__CLOCK__desc

Definition at line 5197 of file DAE_records.c.

◆ DAE_ClockKind_INFERRED__CLOCK__desc

struct record_description DAE_ClockKind_INFERRED__CLOCK__desc

Definition at line 5158 of file DAE_records.c.

◆ DAE_ClockKind_INTEGER__CLOCK__desc

struct record_description DAE_ClockKind_INTEGER__CLOCK__desc

Definition at line 5171 of file DAE_records.c.

◆ DAE_ClockKind_REAL__CLOCK__desc

struct record_description DAE_ClockKind_REAL__CLOCK__desc

Definition at line 5184 of file DAE_records.c.

◆ DAE_ClockKind_SOLVER__CLOCK__desc

struct record_description DAE_ClockKind_SOLVER__CLOCK__desc

Definition at line 5210 of file DAE_records.c.

◆ DAE_Exp_ARRAY__desc

struct record_description DAE_Exp_ARRAY__desc

Definition at line 5496 of file DAE_records.c.

◆ DAE_Exp_ASUB__desc

struct record_description DAE_Exp_ASUB__desc

Definition at line 5561 of file DAE_records.c.

◆ DAE_Exp_BCONST__desc

struct record_description DAE_Exp_BCONST__desc

Definition at line 5327 of file DAE_records.c.

◆ DAE_Exp_BINARY__desc

struct record_description DAE_Exp_BINARY__desc

Definition at line 5379 of file DAE_records.c.

◆ DAE_Exp_BOX__desc

struct record_description DAE_Exp_BOX__desc

Definition at line 5730 of file DAE_records.c.

◆ DAE_Exp_CAST__desc

struct record_description DAE_Exp_CAST__desc

Definition at line 5548 of file DAE_records.c.

◆ DAE_Exp_CLKCONST__desc

struct record_description DAE_Exp_CLKCONST__desc

Definition at line 5340 of file DAE_records.c.

◆ DAE_Exp_CREF__desc

struct record_description DAE_Exp_CREF__desc

Definition at line 5366 of file DAE_records.c.

◆ DAE_Exp_ENUM__LITERAL__desc

struct record_description DAE_Exp_ENUM__LITERAL__desc

Definition at line 5353 of file DAE_records.c.

◆ DAE_Exp_ICONST__desc

struct record_description DAE_Exp_ICONST__desc

Definition at line 5288 of file DAE_records.c.

◆ DAE_Exp_IFEXP__desc

struct record_description DAE_Exp_IFEXP__desc

Definition at line 5444 of file DAE_records.c.

◆ DAE_Exp_LBINARY__desc

struct record_description DAE_Exp_LBINARY__desc

Definition at line 5405 of file DAE_records.c.

◆ DAE_Exp_LUNARY__desc

struct record_description DAE_Exp_LUNARY__desc

Definition at line 5418 of file DAE_records.c.

◆ DAE_Exp_PARTEVALFUNCTION__desc

struct record_description DAE_Exp_PARTEVALFUNCTION__desc

Definition at line 5483 of file DAE_records.c.

◆ DAE_Exp_RANGE__desc

struct record_description DAE_Exp_RANGE__desc

Definition at line 5522 of file DAE_records.c.

◆ DAE_Exp_RCONST__desc

struct record_description DAE_Exp_RCONST__desc

Definition at line 5301 of file DAE_records.c.

◆ DAE_Exp_RECORD__desc

struct record_description DAE_Exp_RECORD__desc

Definition at line 5470 of file DAE_records.c.

◆ DAE_Exp_RELATION__desc

struct record_description DAE_Exp_RELATION__desc

Definition at line 5431 of file DAE_records.c.

◆ DAE_Exp_RSUB__desc

struct record_description DAE_Exp_RSUB__desc

Definition at line 5587 of file DAE_records.c.

◆ DAE_Exp_SCONST__desc

struct record_description DAE_Exp_SCONST__desc

Definition at line 5314 of file DAE_records.c.

◆ DAE_Exp_SIZE__desc

struct record_description DAE_Exp_SIZE__desc

Definition at line 5600 of file DAE_records.c.

◆ DAE_Exp_TSUB__desc

struct record_description DAE_Exp_TSUB__desc

Definition at line 5574 of file DAE_records.c.

◆ DAE_Exp_TUPLE__desc

struct record_description DAE_Exp_TUPLE__desc

Definition at line 5535 of file DAE_records.c.

◆ DAE_Exp_UNARY__desc

struct record_description DAE_Exp_UNARY__desc

Definition at line 5392 of file DAE_records.c.

◆ DAE_Exp_UNBOX__desc

struct record_description DAE_Exp_UNBOX__desc

Definition at line 5743 of file DAE_records.c.

◆ DAE_FunctionAttributes_FUNCTION__ATTRIBUTES__desc

struct record_description DAE_FunctionAttributes_FUNCTION__ATTRIBUTES__desc

Definition at line 4404 of file DAE_records.c.

◆ DAE_FunctionBuiltin_FUNCTION__BUILTIN__desc

struct record_description DAE_FunctionBuiltin_FUNCTION__BUILTIN__desc

Definition at line 4443 of file DAE_records.c.

◆ DAE_FunctionParallelism_FP__NON__PARALLEL__desc

struct record_description DAE_FunctionParallelism_FP__NON__PARALLEL__desc

Definition at line 4508 of file DAE_records.c.

◆ DAE_InlineType_NO__INLINE__desc

struct record_description DAE_InlineType_NO__INLINE__desc

Definition at line 1830 of file DAE_records.c.

◆ NFBinding_Binding_UNBOUND__desc

struct record_description NFBinding_Binding_UNBOUND__desc

Definition at line 10 of file NFBinding_records.c.

◆ NFCall_Call_ARG__TYPED__CALL__desc

struct record_description NFCall_Call_ARG__TYPED__CALL__desc

Definition at line 127 of file NFCall_records.c.

◆ NFCall_Call_TYPED__ARRAY__CONSTRUCTOR__desc

struct record_description NFCall_Call_TYPED__ARRAY__CONSTRUCTOR__desc

Definition at line 166 of file NFCall_records.c.

◆ NFCall_Call_TYPED__CALL__desc

struct record_description NFCall_Call_TYPED__CALL__desc

Definition at line 140 of file NFCall_records.c.

◆ NFCall_Call_TYPED__REDUCTION__desc

struct record_description NFCall_Call_TYPED__REDUCTION__desc

Definition at line 192 of file NFCall_records.c.

◆ NFCall_Call_UNTYPED__ARRAY__CONSTRUCTOR__desc

struct record_description NFCall_Call_UNTYPED__ARRAY__CONSTRUCTOR__desc

Definition at line 153 of file NFCall_records.c.

◆ NFCall_Call_UNTYPED__CALL__desc

struct record_description NFCall_Call_UNTYPED__CALL__desc

Definition at line 114 of file NFCall_records.c.

◆ NFCall_Call_UNTYPED__REDUCTION__desc

struct record_description NFCall_Call_UNTYPED__REDUCTION__desc

Definition at line 179 of file NFCall_records.c.

◆ NFComponent_Component_Attributes_ATTRIBUTES__desc

struct record_description NFComponent_Component_Attributes_ATTRIBUTES__desc

Definition at line 10 of file NFComponent_records.c.

◆ NFComponent_Component_TYPED__COMPONENT__desc

struct record_description NFComponent_Component_TYPED__COMPONENT__desc

Definition at line 62 of file NFComponent_records.c.

◆ NFComponentRef_CREF__desc

struct record_description NFComponentRef_CREF__desc

Definition at line 10 of file NFComponentRef_records.c.

◆ NFDimension_UNKNOWN__desc

struct record_description NFDimension_UNKNOWN__desc

Definition at line 88 of file NFDimension_records.c.

◆ NFExpression_ARRAY__desc

struct record_description NFExpression_ARRAY__desc

Definition at line 231 of file NFExpression_records.c.

◆ NFExpression_BINARY__desc

struct record_description NFExpression_BINARY__desc

Definition at line 335 of file NFExpression_records.c.

◆ NFExpression_BOOLEAN__desc

struct record_description NFExpression_BOOLEAN__desc

Definition at line 179 of file NFExpression_records.c.

◆ NFExpression_BOX__desc

struct record_description NFExpression_BOX__desc

Definition at line 485 of file NFExpression_records.c.

◆ NFExpression_CALL__desc

struct record_description NFExpression_CALL__desc

Definition at line 296 of file NFExpression_records.c.

◆ NFExpression_CAST__desc

struct record_description NFExpression_CAST__desc

Definition at line 413 of file NFExpression_records.c.

◆ NFExpression_CLKCONST__desc

struct record_description NFExpression_CLKCONST__desc

Definition at line 517 of file NFExpression_records.c.

◆ NFExpression_ClockKind_BOOLEAN__CLOCK__desc

struct record_description NFExpression_ClockKind_BOOLEAN__CLOCK__desc

Definition at line 49 of file NFExpression_records.c.

◆ NFExpression_ClockKind_INTEGER__CLOCK__desc

struct record_description NFExpression_ClockKind_INTEGER__CLOCK__desc

Definition at line 23 of file NFExpression_records.c.

◆ NFExpression_ClockKind_REAL__CLOCK__desc

struct record_description NFExpression_ClockKind_REAL__CLOCK__desc

Definition at line 36 of file NFExpression_records.c.

◆ NFExpression_ClockKind_SOLVER__CLOCK__desc

struct record_description NFExpression_ClockKind_SOLVER__CLOCK__desc

Definition at line 62 of file NFExpression_records.c.

◆ NFExpression_CREF__desc

struct record_description NFExpression_CREF__desc

Definition at line 205 of file NFExpression_records.c.

◆ NFExpression_ENUM__LITERAL__desc

struct record_description NFExpression_ENUM__LITERAL__desc

Definition at line 192 of file NFExpression_records.c.

◆ NFExpression_IF__desc

struct record_description NFExpression_IF__desc

Definition at line 400 of file NFExpression_records.c.

◆ NFExpression_INTEGER__desc

struct record_description NFExpression_INTEGER__desc

Definition at line 140 of file NFExpression_records.c.

◆ NFExpression_LBINARY__desc

struct record_description NFExpression_LBINARY__desc

Definition at line 361 of file NFExpression_records.c.

◆ NFExpression_LUNARY__desc

struct record_description NFExpression_LUNARY__desc

Definition at line 381 of file NFExpression_records.c.

◆ NFExpression_MATRIX__desc

struct record_description NFExpression_MATRIX__desc

Definition at line 251 of file NFExpression_records.c.

◆ NFExpression_MUTABLE__desc

struct record_description NFExpression_MUTABLE__desc

Definition at line 491 of file NFExpression_records.c.

◆ NFExpression_RANGE__desc

struct record_description NFExpression_RANGE__desc

Definition at line 257 of file NFExpression_records.c.

◆ NFExpression_REAL__desc

struct record_description NFExpression_REAL__desc

Definition at line 153 of file NFExpression_records.c.

◆ NFExpression_RECORD__desc

struct record_description NFExpression_RECORD__desc

Definition at line 283 of file NFExpression_records.c.

◆ NFExpression_RECORD__ELEMENT__desc

struct record_description NFExpression_RECORD__ELEMENT__desc

Definition at line 472 of file NFExpression_records.c.

◆ NFExpression_RELATION__desc

struct record_description NFExpression_RELATION__desc

Definition at line 387 of file NFExpression_records.c.

◆ NFExpression_SIZE__desc

struct record_description NFExpression_SIZE__desc

Definition at line 309 of file NFExpression_records.c.

◆ NFExpression_SUBSCRIPTED__EXP__desc

struct record_description NFExpression_SUBSCRIPTED__EXP__desc

Definition at line 439 of file NFExpression_records.c.

◆ NFExpression_TUPLE__desc

struct record_description NFExpression_TUPLE__desc

Definition at line 270 of file NFExpression_records.c.

◆ NFExpression_TUPLE__ELEMENT__desc

struct record_description NFExpression_TUPLE__ELEMENT__desc

Definition at line 459 of file NFExpression_records.c.

◆ NFExpression_TYPENAME__desc

struct record_description NFExpression_TYPENAME__desc

Definition at line 225 of file NFExpression_records.c.

◆ NFExpression_UNARY__desc

struct record_description NFExpression_UNARY__desc

Definition at line 348 of file NFExpression_records.c.

◆ NFExpression_UNBOX__desc

struct record_description NFExpression_UNBOX__desc

Definition at line 426 of file NFExpression_records.c.

◆ NFFunction_Function_FUNCTION__desc

struct record_description NFFunction_Function_FUNCTION__desc

Definition at line 192 of file NFFunction_records.c.

◆ NFInstNode_InstNode_COMPONENT__NODE__desc

struct record_description NFInstNode_InstNode_COMPONENT__NODE__desc

Definition at line 413 of file NFInstNode_records.c.

◆ NFInstNode_InstNode_EMPTY__NODE__desc

struct record_description NFInstNode_InstNode_EMPTY__NODE__desc

Definition at line 491 of file NFInstNode_records.c.

◆ NFInstNode_InstNodeType_NORMAL__COMP__desc

struct record_description NFInstNode_InstNodeType_NORMAL__COMP__desc

Definition at line 88 of file NFInstNode_records.c.

◆ NFOperator_OPERATOR__desc

struct record_description NFOperator_OPERATOR__desc

Definition at line 10 of file NFOperator_records.c.

◆ NFPrefixes_Replaceable_NOT__REPLACEABLE__desc

struct record_description NFPrefixes_Replaceable_NOT__REPLACEABLE__desc

Definition at line 23 of file NFPrefixes_records.c.

◆ NFType_ARRAY__desc

struct record_description NFType_ARRAY__desc

Definition at line 101 of file NFType_records.c.

◆ NFType_BOOLEAN__desc

struct record_description NFType_BOOLEAN__desc

Definition at line 49 of file NFType_records.c.

◆ NFType_CLOCK__desc

struct record_description NFType_CLOCK__desc

Definition at line 62 of file NFType_records.c.

◆ NFType_ENUMERATION__ANY__desc

struct record_description NFType_ENUMERATION__ANY__desc

Definition at line 95 of file NFType_records.c.

◆ NFType_FUNCTION__desc

struct record_description NFType_FUNCTION__desc

Definition at line 173 of file NFType_records.c.

◆ NFType_INTEGER__desc

struct record_description NFType_INTEGER__desc

Definition at line 10 of file NFType_records.c.

◆ NFType_METABOXED__desc

struct record_description NFType_METABOXED__desc

Definition at line 186 of file NFType_records.c.

◆ NFType_REAL__desc

struct record_description NFType_REAL__desc

Definition at line 23 of file NFType_records.c.

◆ NFType_STRING__desc

struct record_description NFType_STRING__desc

Definition at line 36 of file NFType_records.c.

◆ NFType_UNKNOWN__desc

struct record_description NFType_UNKNOWN__desc

Definition at line 140 of file NFType_records.c.

◆ SourceInfo_SOURCEINFO__desc

struct record_description SourceInfo_SOURCEINFO__desc

Definition at line 714 of file meta_modelica_builtin.c.

◆ Values_Value_BOOL__desc

struct record_description Values_Value_BOOL__desc

Definition at line 638 of file OpenModelicaBootstrappingHeader.h.

◆ Values_Value_ENUM__LITERAL__desc

struct record_description Values_Value_ENUM__LITERAL__desc

Definition at line 623 of file OpenModelicaBootstrappingHeader.h.

◆ Values_Value_INTEGER__desc

struct record_description Values_Value_INTEGER__desc

Definition at line 683 of file OpenModelicaBootstrappingHeader.h.

◆ Values_Value_REAL__desc

struct record_description Values_Value_REAL__desc

Definition at line 668 of file OpenModelicaBootstrappingHeader.h.

◆ Values_Value_STRING__desc

struct record_description Values_Value_STRING__desc

Definition at line 653 of file OpenModelicaBootstrappingHeader.h.